最近在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服务,刷新页面,中文显示正常。
再次记录下,希望能帮到遇到同样问题的朋友!
时间: 2024-12-28 12:13:20