如何让php使用utf-8字符串?

时间:2013-12-06 08:38:42

标签: php utf-8

显然,这不起作用:

<?php
$newstring = "测试";
echo $newstring;
?>

如何使用utf-8字符串?

修改

我刚刚意识到webmin的在线文件编辑器不会自动将文件保存为utf-8编码,并且在将新文件上传到我的服务器后,一切正常,最好的部分是,在线文件编辑器没有似乎甚至支持任何utf-8编码文件。

3 个答案:

答案 0 :(得分:2)

“显然”是一个奇怪的单词选择,因为确实实际上工作正常,如果:

  1. 源代码与ASCII兼容,因此PHP可以解释它。
  2. 源代码以及字符串以相同的编码保存,阅读方将对其进行解释。
  3. 因此,如果您将此文件保存为UTF-8(与ASCII兼容)并在浏览器中打开,则浏览器需要将该页面解释为UTF-8。您可以通过设置适当的HTTP标头来完成此操作。如果您要在命令行上执行此脚本,终端必须能够解释UTF-8并能够显示它。

    PHP中的字符串文字是原始字节数组,它们不是由PHP解释的。它们可以是你想要的任何东西。它们可以是图像等二进制数据,只要您可以使用文本编辑器正确保存文件即可。它们只被试图在屏幕上显示字符的一方解释为文本。有关难以深入的详细信息,请参阅What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text

答案 1 :(得分:0)

您需要以UTF-8编码保存源代码

另外,您可以将其添加到源代码

header('Content-Type: text/html; charset=utf-8');

答案 2 :(得分:0)

将此内容写入php.ini文件:

default_charset = "utf-8";

如果不是,则必须在每个文件的顶部设置标题,如:

header("Content-Type: text/html; charset=utf-8");

如果在那里保存这些字符串,还要查看数据库设置。