Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL中文拼音编码问题_Php_Mysql_Cjk - Fatal编程技术网

Php MySQL中文拼音编码问题

Php MySQL中文拼音编码问题,php,mysql,cjk,Php,Mysql,Cjk,我有一个MySQL数据库设置为utf8。我的字符集/排序规则变量是: 变量名称值 字符集客户机utf8 字符集连接utf8 字符集数据库utf8 字符集文件系统二进制 字符集结果utf8 字符集服务器拉丁1 字符集系统utf8 排序规则| utf8(通用)ci 排序规则| utf8 |通用| ci 排序规则|服务器|拉丁语|瑞典语| ci 我有一个网页,显示我们MySQL数据库中的汉字和拼音。汉字显示良好,但拼音混乱。比如说, 显示:NÃnjÄng 正确:Nánjīng 现在,我检查页面编码,并

我有一个MySQL数据库设置为utf8。我的字符集/排序规则变量是:

变量名称

字符集客户机utf8

字符集连接utf8

字符集数据库utf8

字符集文件系统二进制

字符集结果utf8

字符集服务器拉丁1

字符集系统utf8

排序规则| utf8(通用)ci

排序规则| utf8 |通用| ci

排序规则|服务器|拉丁语|瑞典语| ci

我有一个网页,显示我们MySQL数据库中的汉字和拼音。汉字显示良好,但拼音混乱。比如说,

显示:NÃnjÄng 正确:Nánjīng


现在,我检查页面编码,并将其设置为UTF8。我用PHP呼应了Nánjīng,它显示得很好。我在命令行中签出了数据,它在数据库中是正确的。然而,每当它通过一个查询时,它都会弄乱拼音,但不会弄乱汉字。有人知道为什么会发生这种事吗?

我知道了。这是一个整理问题。我修改了cnf,将collation_server变量设置为utf8_general_ci,然后重新导入我的数据,它工作正常。。。我不知道为什么我之前没有想到这一点

如果您想在mysql数据库中存储拼音,您必须通过base64_encode()对其进行编码并且在显示时,您必须通过base64_decode()对其进行编码最重要的一点是,必须使用标题('Content-Type:text/html;charset=utf8-general-ci')位于页面顶部


有没有可能汉字是UTF-8,而拼音不是?您需要验证每个表的字符集。相关问题,@Steve-o感谢链接!这让我走上了正确的道路。我发布了我所做的修复工作。
NÃnjÄ«ng
是Mojibake;有关可能的原因,请参阅。