【发布时间】:2013-11-11 05:35:12
【问题描述】:
- 检查您的 .php 文件是否编码为没有 BOM 的 UTF-8
- 检查您与数据库的连接是否为 UTF-8
- 检查您是否在
<head>标记的 HTML 标记中发送了<meta charset="utf-8">
如果您与数据库的连接不是 UTF-8 并且您不想更改它(但我推荐它 -> 所有 UTF-8 都是针对字符垃圾最安全的解决方案)使用 utf8_encode($databaseValue) 以确保您的值的编码是 UTF-8。
【讨论】:
-
我还会检查 Apache/PHP 配置以发送默认字符集 utf8,主要问题是你提到的第一点,文件内容本身当然应该是 utf8
-
我使用
utf8_encode和�字符不再存在。但是,原来的字符‘也不见了。这有点奇怪。 -
mysqli_set_charset($link, "utf8")解决了问题,非常感谢。
确保您使用:
<meta charset="utf-8">
在页面的顶部。
【讨论】:
您需要在 html 的“head”部分添加字符集元标记。 请注意,元标记必须出现在呈现页面的前 1024 个字节内。
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
【讨论】: