【发布时间】:2015-07-16 08:14:30
【问题描述】:
我遇到了一种非常奇怪的编码问题,我不太了解并且以前从未遇到过。我在 Ubuntu 机器上使用 PHP 5.5 只是为了提供信息。
解决问题
我有一个简单的文件 index.php,我想在其中打印这个简单的字符串
<?php echo "übermotivierter"; ?>
在浏览器中查看时,我希望得到以下输出
�bermotivierter
这符合预期!
为了以正确的方式显示它,我已经完成了以下步骤
- 将我的 IDE (Zend Studio) 的编码更改为 UTF-8 并再次保存文件
-
设置适当的 html 元标记
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -
设置合适的php头文件
<?php header("Content-Type: text/html; charset=utf-8"); ?>
执行此操作后,我本以为它会以正确的方式显示,但我仍然觉得这很奇怪——在输出中!
解决方法
为了让这个东西正确显示,我必须这样做
<?php echo utf8_encode("übermotivierter"); ?>
现在它以正确的方式显示。
我的问题
当我的文档已经被编码并保存在 utf-8 中时,我真的不明白为什么我必须使用 utf8_encode。这对我来说没有任何意义。对此有何解释?
【问题讨论】:
标签: php encoding utf-8 character-encoding