php变量输出乱码的解决办法:1、通过“iconv(gb2312,utf-8,'中文');”进行转换;2、把utf-8改成gb2312;3、修改php.ini文件配置。
本文操作环境:windows7系统、php7.1版,dell g3电脑
用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,'中文');或者dc5af82e015efcbabfa254e2a50da957会比较痛苦。
最后看到可能是php.ini文件配置问题,就打开php.ini文件,找到 ;default.charset=utf-8--->default.charset=utf-8 把前面的分号去掉(去掉注释),重启apache服务,刷新页面,中文显示正常。
推荐学习:《php视频教程》
以上就是php变量输出乱码怎么办的详细内容。