这是一个创建于 1165 天前的主题,其中的信息可能已经有所发展或是发生改变。
WIN10 的 CMD 默认编码是 gbk,php 文件编码也是 gbk,在命令行运行 php 文件输出中文乱码或不显示,把 php 文件编码转换为 utf8,再运行中文正确显示,请问这是什么原理?
难道 php 运行的文件默认编码是 utf8 ?并根据前端编码转换输出编码?
如何在命令行运行 gbk 编码的 php 文件并正确输出中文?谢谢。
5 条回复 • 2021-04-29 11:18:26 +08:00
![dejavuwind](https://cdn.v2ex.com/avatar/5fd1/f2bb/189194_normal.png?m=1558582658) |
|
1
dejavuwind 2021-04-28 14:17:28 +08:00
盲猜跟 PHP 执行命令有关,该命令读取默认编码不是 GBK,应该可以通过某种方式指定文件编码
CMD 的编码应该是另一个问题了
|
![dujiangbo](https://cdn.v2ex.com/gravatar/120df2768f29876b194be75c4107e11e?s=48&d=retro) |
|
2
dujiangbo 2021-04-28 15:30:23 +08:00 via iPhone
@ dejavuwind 我查了 php 命令的参数,没有设置编码的参数,那么这个问题就无解了吗?
|
![dujiangbo](https://cdn.v2ex.com/gravatar/120df2768f29876b194be75c4107e11e?s=48&d=retro) |
|
3
dujiangbo 2021-04-28 17:28:38 +08:00 via iPhone 1
@ dejavuwind php.ini 配置文件里有编码设置,设置为 gbk 后问题解决。
|
![zed1018](https://cdn.v2ex.com/gravatar/721ac1354ab27a00d16947f5b8fc4e47?s=48&d=retro) |
|
4
zed1018 2021-04-29 08:58:47 +08:00
chcp 65001 该 cmd 编码为 utf8
|
![dujiangbo](https://cdn.v2ex.com/gravatar/120df2768f29876b194be75c4107e11e?s=48&d=retro) |
|
5
dujiangbo 2021-04-29 11:18:26 +08:00 via iPhone
@ zed1018 win10 下默认是 gbk,可以命令行修改,也可以改注册表。
|