写了一个 test.php 脚本,文件编码为 UTF-8 ,代码如下:
<?php
$str = '你好';
var_dump($str);
在 windows cmd 命令行执行此脚本,正常输出“你好”。
我的疑问是,windows cmd 命令行的编码是 GBK ,而代码文件的编码是 UTF-8 ,两者的编码不一样,为什么输出中文没有乱码?
更诡异的是,我将代码文件的编码改为 GBK ,然后再执行,此时命令行、代码文件的编码都是 GBK ,反而乱码了。。。
我的环境是 Windows 10 ,PHP 7.4