git version 2.15.0.windows.1
PHP 7.0.12 (cli) (built: Oct 13 2016 11:04:07) ( NTS )
<?php
echo '我是中国人';
以上是我的 PHP 脚本代码。文件名是 test.php
字符编码是 UTF-8 无 BOM 头的。我在 git bash 里使用 php test.php
。然后输出的是乱码。输出的结果是:鎴戞槸涓浗浜
我尝试使用 git bash 的 options
在 text
选项设置成了 UTF-8
编码。然后通过 locale
命令核对无误,当然也过尝试关闭 git bash 命令窗口重新打开进行测试,但是一样显示乱码。
以下是我通过 百度、必应 以及其他途径获取所尝试过的方法,均无效。
git config --global gui.encoding utf-8
chcp.com 65001
vi /etc/inputrc
set output-meta on
set convert-meta off
后面我就开始思考,形成了如下具体步骤:
难道是 git bash 命令窗口字符编码那里没设置对导致的?
// 正常显示中文
cat test.php
// 中文乱码
php test.php
对输出结果进行分析,发现其输出的实际已经是 UTF-8 编码的字符了
// 输出结果为:我是...
iconv('UTF-8', 'GBK//IGNORE', '鎴戞槸涓浗浜')
尝试使用 CMD
测试
// 输出 936
chcp
// 输出乱码
php test.php
// 更改为 65001
chcp 65001
// 输出正常
php test.php
CMD
既然可以通过 chcp 65001
来改变,于是我也想通过改变 git bash 终端字符编码总可以了吧,于是有了如下命令:
chcp.com 65001
git config --global gui.encoding utf-8
但是,均宣告无效。我该如何去解决这个问题呢?请给我一些指引,谢谢!
慕娘9325324
蝴蝶不菲
胡子哥哥
jeck猫