字段name的编码为utf8_unicode_ci
表的编码也为utf8_unicode_ci
数据库的编码也是
PHP编码也是utf-8,但是插入之后在数据库里仍然是乱码
代码中有加入:
mysqli_query($db,"set names ’utf8’ ");
mysqli_query($db,"set character_set_client=utf8");
mysqli_query($db,"set character_set_results=utf8");
加入之后变成问号……
只有插入会这样,如果读取的话加上前面三句就可以正常显示中文
MYSQL已经是utf8了,PHP也是,但是插入的时候还是问号
读取出来显示到PHP上就正常
读取的数据不需要做处理就显示正常吗?你MYSQL是用什么打开的?PHPMYADMIN?还是其他的数据库管理软件,如果是PHPMYADMIN的话,你把当前游览器的编码设置一下
追问读取的数据要加下面三行才能显示正常:
mysqli_query($db,"set names ’utf8’ ");
mysqli_query($db,"set character_set_client=utf8");
mysqli_query($db,"set character_set_results=utf8");
否则是问号
当前浏览器是utf-8
你插入数据的时候,前面加入这个mysqli_query($db,"set names ’utf8’ "); 后2个不需要。你看下问题是否解决了
追问不行
追答你那个PHP文件的当前页面编码是不是UTF8。。如果PHP文件的编码不是UTF8,也可能会出现这种情况,用编辑器看看PHP文件编码吧,看是不是UTF8无BOM
追问本来是utf-8,现在改成utf8无bom也不行
追答无能为力,不清楚啥情况了,还有最后一个办法就是,你胡乱改一改编码格式,比如都改成GBK的,也许就正常了,正常以后再改回utf8,如果还不行,不知道问题再那里,考虑重新安装数据库吧
追问嗯好吧
改了,没用
utf8_unicode_ci 和utf8_general_ci 差别不是很大把
那就改成GBK试试