-2
4

2 回答 2

2

如果某些内容显示为 UNICODE REPLACEMENT CHARACTER,则表示文档以 Unicode 编码(例如 UTF-8)解释,但此时的字节序列在此编码中无效。

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

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

于 2013-06-30T11:02:45.453 回答
0

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

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

要正确输出,您可以将其输出为 html 实体,µ或者µ. 如果您现在执行此操作,符号也会正确显示,但请记住您的实际输出不是 UTF-8,因此如果您的页面上需要另一个符号,那么您将遇到同样的问题!

编辑

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

于 2013-06-30T11:04:58.840 回答