我在windows下使用的时候没有问题,转移到Linux中其他PHP文件读取MySQL中文也正常,但是在使用workerman,读取的中文全部变成了???,求大神支招,非常感谢!
补充一下,我查看了库和表的编码都是utf8,并且我的PHP文件编码也是utf8
在哪里看到的乱码? 截个图吧。
除了库和表的编码、PHP文件编码都要一致外,客户端显示时的编码也要一致才行
摸索了好久还是不行,不只是客户端显示出问号,而是在读取MySQL中的中文数据后,哪个数据就变成了问号。并且只有使用workerman框架时才会出现问号。
总体来说就是其他时候读取写入中文都正常,但是用了workerman框架后的读取就变成了问号,写入自然也将问号写入了。但是执行其他文件时读取同一个数据库的中文都是正常的
这个要自己找原因了,其它开发者使用都是ok的。
就在刚刚发问之后,我找到问题了,是连接时的编码出了问题,在连接后执行mysql_query(‘SET NAMES gbk’);就没有问号了。很奇怪,其他时候都是正常的,我在windows下面使用workerman也是正常的,但是Linux下使用时就出了问题,加上这一句问题解决。不过还是非常感谢您的
补充一下,我查看了库和表的编码都是utf8,并且我的PHP文件编码也是utf8
在哪里看到的乱码?
截个图吧。
除了库和表的编码、PHP文件编码都要一致外,客户端显示时的编码也要一致才行
摸索了好久还是不行,不只是客户端显示出问号,而是在读取MySQL中的中文数据后,哪个数据就变成了问号。并且只有使用workerman框架时才会出现问号。
总体来说就是其他时候读取写入中文都正常,但是用了workerman框架后的读取就变成了问号,写入自然也将问号写入了。但是执行其他文件时读取同一个数据库的中文都是正常的
这个要自己找原因了,其它开发者使用都是ok的。
就在刚刚发问之后,我找到问题了,是连接时的编码出了问题,在连接后执行mysql_query(‘SET NAMES gbk’);就没有问号了。很奇怪,其他时候都是正常的,我在windows下面使用workerman也是正常的,但是Linux下使用时就出了问题,加上这一句问题解决。不过还是非常感谢您的