最近重新学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"