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
但是,均宣告无效。我该如何去解决这个问题呢?请给我一些指引,谢谢!
环境变量, 设置 LANG = zh_CN.UTF-8
试下这个.