显示符号µ;


Displaying a symbol µ

我在标头中有<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />,但它仍然显示而不是µ。我尝试将AddCharset UTF-8 .php添加到.htaccess,但没有帮助。

编辑:如果我只是在文件中放入符号µ,它将正确显示。当我试图从数据库输出时,我得到了它。

如果某个东西显示为�UNICODE REPLACEMENT CHARACTER,这意味着文档以UNICODE编码(例如UTF-8)进行解释,但此时的字节序列在此编码中无效。

换句话说,您的数据/文件不是UTF-8编码的。确保保存为UTF-8,而不仅仅是声明为

如果从数据库输出数据时遇到问题,则表示来自数据库的数据不是UTF-8编码的。请参阅在Web应用程序中前后处理Unicode。

您遇到这个问题是因为您的输出实际上不是UTF-8,即使您告诉浏览器它是UTF-8。您应该解决这个问题。

如果您通过更正输出使其为正确的UTF-8来修复它,那么问题就会得到解决,因为UTF-8可以显示此符号(以及任何其他符号)。如果通过将字符集更改为ANSI字符集来修复此问题,则代码页中的输出可能不支持此符号。

要正确输出,可以将其输出为html实体,&micro;&#181;。如果你现在这样做,符号也会正确显示,但请记住,你的实际输出不是UTF-8,所以如果你的页面上需要另一个符号,那么你也会遇到同样的问题!

编辑

我现在看到你的编辑了。如果它使用硬编码字符,那么PHP是正确的,但提取的数据没有正确的编码。您可以通过为数据库、表和/或特定列提供任何unicode排序规则来解决此问题。另一种方法是在查询后使用函数iconv将数据库中的数据转换为UTF-8。