我有一个 MySQL 数据库,以 UTF8 编码,其中一些记录中有“ā”(如果它没有正确显示在 SO 中,那就是一个“a”,上面有一行)。
有一个 PHP 脚本可以获取记录,将它们放入数组中,并对它们进行 json_encoding。无论脚本是由 ajax 还是由网页调用,“ā”都会显示为问号。问题出在哪里,如何解决?
谢谢, 杰米·麦克莱蒙特
编辑:忘记提及“ā”在 PHPMyAdmin 中显示正常
最佳答案
为了正确打印文本,您需要设置 mysql 连接和页面的字符集
对于连接,以下查询将起作用
set names utf8
连接后立即运行此查询
如果字符集仍然不正确,请尝试添加
header('Content-Type: application/json; charset=utf-8');
假设你输出的是 json
http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html
关于PHP Utf8 MySQL_查询、JSON_编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8277142/