PHP+mysql从数据库中读取的中文字符在网页上显示乱码,在数据库里和本地测试的时候都正常,什么原因呢?

如题所述

数据库、网页编码不一致造成
假设使用utf-8编码(你上传的php文件使用utf-8编码)
连接数据库时加上mysql_query("SET NAMES 'utf8'");
在网页最前面加上<?php header('Content-Type:text/html;charset=utf-8');?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />追问

这些都有些在代码里面,还有其他可能不?

追答

首先确定你的数据库中储存的数据的编码,用phpmyadmin登录mysql数据库查看数据库编码,以及查看phpmyadmin中能否正常显示中文,如果为乱码,证明你向数据库中储存的数据编码与数据库设置的默认编码不同,写入时的编码错误,调整数据库写入页面的编码
如果在phpmyadmin中看到正常的中文,说明提取数据库时编码错误,修改提取数据库信息的页面编码,如果仍有问题,可以将你出现问题的数据库(其中某个表)导出,与出错的php文件一同发给我,我帮你看一下

追问

在phpmyadmin中显示正常,怎么把文件发给你看呀

追答

我把联系方式发到你的站内信中

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-23
应该是编码格式的事情
第2个回答  2012-04-21
网站空间或者网站使用数据库字体编码和本地不一样。。。。仔细检查