最近重新学PHP,发现每次PHP文件中用 echo 命令输出中文字符的时候,总是出现乱码。而纯HTML文件则不会出现乱码。网上查了半天,都说是 meta 没有写 UTF-8 的问题。可是,Forece 明明已经加载了 meta utf-8 的代码,还是乱码。最后终于找到问题所在,原来是 php.ini 默认字符集的问题。
一般使用 UTF-8 字符集只需要在页面上加入下边字符即可:
<meta charset="UTF-8">
如出现中文乱码,请参考以下解决方法
暂时解决方法1:
在php头部加上如下代码
header('Content-Type: text/html; charset=UTF-8');
暂时解决方法2:
保存php文件的时候,需要存储为 UTF-8 BOM 格式。不过这个方法有个缺点,在本地测试可以,但是传到网站上又会出现乱码。
完美解决方法3:
最后发现,原来本地的 WAMP 的 PHP.INI 文件的默认字符集不知道怎么变成 GBK 了。将文件默认字符集改为 UTF-8。完美解决问题。
找到 \wamp64\bin\php\php5.6.31\php.ini
搜索相关代码,修改为如下即可,注意自己使用的PHP版本,不同版本的php.ini在不同的文件夹中哦
; PHP's default character set is set to UTF-8. ; http://php.net/default-charset default_charset = "UTF-8"