
用iconv 或者mb_convert_encoding试试
用法是iconv (读出来的字符串,'utf-8')是你的页面
编码
有问题!
你这个是不是
还没有用到
数据库
啊
那应该就是
你的
IE浏览器的
编码
跟你
页面的编码不统一!
你应该先判断你的
页面是
什么编码
然后再把
IE的编码换成
你的页面
编码!那就可以了!1查询之前加这条语句可以解决乱码问题:
mysql_query("set names 'gb2312'");
2导致编码不正确的几种原因:
mysql数据库默认的编码是utf8,如果这种编码与你的PHP网页不一致,可能就会造成MYSQL乱码
MYSQL中创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码
MYSQL创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码
用户提交页面的编码与显示数据的页面编码不一致,就肯定会造成PHP页面乱码
如用户输入资料的页面是big5码, 显示用户输入的页面却是gb2312,这种100%会造成PHP页面乱码
PHP页面字符集不正确
PHP连接MYSQL数据库语句指定的编码不正确
3解决方法:
mysql+php产生乱码的解决办法:
如果安装mysql的编码已不能更改,很多朋友是购买虚拟主机建立网站,无权更改MYSQL的安装编码,这一关我们可以跳过,因为只要后面的步聚正确,一样能解决乱码问题
修改数据库编码,如果是数据库编码不正确,可以在phpmyadmin 执行如下命令:
ALTER DATABASE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
以上命令就是将test数据库的编码设为utf8
修改表的编码:
ALTER TABLE 'category' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
以上命令就是将一个表category的编码改为utf8该一下,给你header
<
header("Content-type: text/html; charset=gb2312");
echo "汉字";
>
然后,注意,保存文件的时候,使用ansi编码,不要使用utf-8~
这样,就能保证你输出的是中文了。
dw在 编辑、首选项里面 新建文件 里面有有关编码的设置。如果是用记事本,默认保存为 ansi~
不好意思,打错了 那个地方应该是 text/html 不是 text/xml 浏览器吧文件作为了xml来解析了。。。呵呵。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)