Home >Backend Development >PHP Tutorial >又是mysql乱码的问题

又是mysql乱码的问题

WBOY
WBOYOriginal
2016-06-23 14:10:45983browse

在网上查了,然后设置了,重启mysql服务、、进去继续用show variables like “%colla%”;show varables like “%char%”;着两条语句查询一下字符集,显示也这样了,可还是乱码,什么情况?
还有,

mysql_query("set names 'gbk'");//用‘gbk’的时侯显示一串问号,用‘utf8的时候显示乱码,搞不懂’


回复讨论(解决方案)

mysql_query("set names 'gbk'");//用‘gbk’的时侯显示一串问号
mysql_query("set names 'utf8'");//用‘utf8的时候显示乱码
那么都不用时,显示什么?

乱码加问号。。

在没有 set names xxx 的情况下,读取有乱码的记录
将由乱码的字段内容保存到变量 $s
然后 echo base64_encode($s); 
贴出结果

这个问题我以前碰到过,我当时是这么解决这个问题:
1.mysql数据中,先把要操作的表进行下清空,然后set names gbk,在gbk的状态下,insert into 数据(mysql控制台是gbk模式)。
2.php脚本插入数据进入数据库中时,要确保我们的脚本是utf8格式的。方法是在脚本的最前面一行输入header("content-type:text/html; charset=utf-8");同时在该脚本合适的位置中输入mysql_query("set names utf8");

你按照我的方法先修改下先,看看结果如何,应该就能解决了。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn