PHP+mysql从数据库中读取的中文字符在网页上显示乱码,在数据库里和本地测试的时候都正常,什么原因呢?
3个回答
展开全部
数据库、网页编码不一致造成
假设使用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" />
假设使用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文件一同发给我,我帮你看一下
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询