我将MySQL数据库设置为utf8.我的字符集/排序规则变量是:
Variable_name | Value
character_set_client | utf8
character_set_connection | utf8
character_set_database | utf8
character_set_filesystem | binary
character_set_results | utf8
character_set_server | latin1
character_set_system | utf8
collation_connection | utf8_general_ci
collation_database | utf8_general_ci
collation_server | latin1_swedish_ci
我有一个网页,显示我们MySQL数据库中的汉字和拼音.汉字显示很好,但拼音却乱码.例如,
显示:NánjÄ«ng
正确:Nánjīng
现在,我检查页面编码并将其设置为UTF8.我用PHP回显了Nánjīng,它显示得很好.我在命令行中签出了数据,并且在数据库中它是正确的.但是,无论何时通过查询,它都会使拼音出现乱码,而不是汉字.有人知道为什么会这样吗?
解决方法:
我想到了.这是一个比较问题.我修改了cnf,将collation_server变量设置为utf8_general_ci,然后重新导入了我的数据,它的工作效果很好……我不知道为什么我以前没有想到这一点.