PHP输出中文乱码的解决方法

最近在windows上发现PHP程序中输出来的中文有乱码的情况。

看了很多帖子资料说可以在页面上添加:

http://www.cnblogs.com/leandro/archive/2008/04/21/1368517.html
用echo输出的中文显示成乱码, 其实应该是各种服务器脚本都会遇到这个问题, 根本还是编码问题, 一般来说出于编码兼容考虑大多的页面都将页面字符集定义为utf
-8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 这时候要正常显示中文需要转化一下编码方式,比如 echo iconv("GB2312","UTF-8",'中文');就不会乱码了 还有其他方法,比如 在php的echo前面加入header("Content-Type:text/html;charset=gb2312"); 当然简体中文页面也可以干脆地, 把<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />中的UTF-8改成gb2312 实际中遇见奇怪的现象, 在本机服务器上正常显示的页面,传上服务器就echo出来乱码, 没仔细琢磨过这个缘由,因为通过iconv函数GB2312、UTF-8换换位置重新编码下就正常了, 不过估计肯定是APACHE,更确切说是PHP服务端的设置不同造成的, 看看PHP.INI应该就能解决。

在每个页面添加 echo iconv("GB2312","UTF-8",'中文');或者<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />会比较痛苦。

最后看到可能是php.ini文件配置问题,就打开php.ini文件,找到 ;default.charset="UTF-8"--->default.charset="UTF-8" 把前面的分号去掉(去掉注释),重启apache服务,刷新页面,中文显示正常。

再次记录下,希望能帮到遇到同样问题的朋友!

posted on 2014-12-05 10:41  东云180  阅读(50452)  评论(0编辑  收藏  举报

导航