【发布时间】:2011-11-05 08:06:50
【问题描述】:
我有一个 MySQL 数据库设置为 utf8。我的字符集/排序规则变量是:
变量名 | 价值
character_set_client | utf8
character_set_connection | utf8
character_set_database | utf8
character_set_filesystem |二进制
character_set_results | utf8
character_set_server |拉丁语1
character_set_system | utf8
collation_connection | utf8_general_ci
collation_database | utf8_general_ci
collation_server | latin1_swedish_ci
我有一个网页,显示来自我们的 MySQL 数据库的汉字和拼音。汉字显示正常,但拼音是乱码。例如,
显示:NánjÄ«ng 正确:南京
现在,我检查页面编码并将其设置为 UTF8。我在 PHP 中呼应了 Nánjīng,它显示得很好。我在命令行中检查了数据,它在数据库中是正确的。但是,每当它通过查询时,它会混淆拼音,而不是汉字。有人知道为什么会这样吗?
【问题讨论】:
-
汉字有没有可能是UTF-8而拼音不是?您需要验证每个表的字符集。
-
@Steve-o 感谢您的链接!这使我走上了正确的道路。我发布了我为修复它所做的工作。
-
NánjÄ«ng是 Mojibake;请参阅stackoverflow.com/questions/38363566/… 了解可能的原因。