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
但是,均宣告无效。我该如何去解决这个问题呢?请给我一些指引,谢谢!
4 回答
蝴蝶不菲
TA贡献1810条经验 获得超4个赞
哈哈哈,今天无意中找到解决办法了
是php的路径问题,比如我的php.exe的路径是D:wampbinphpphp7.0.23\
test.php的文件编码是utf-8
git bash的终端编码也已经设置成utf-8
在git bash中使用 /D/wamp/bin/php/php7.0.23/php ./test.php 就能正常输出中文了
所以解决的步骤就是:
1.vim ~/.bashrc
2.
export LANG=en_US.utf-8
export PATH="$PATH:/D/wamp/bin/php/php7.0.23"
3.source ~/.bashrc
至于为什么路径的问题会造成乱码就不清楚了
胡子哥哥
TA贡献1825条经验 获得超6个赞
我使用的是 phpstudy
开发环境。我把这个软件升级到 2018版本后 似乎就解决了这个问题。
- 打开
git bash here
在标题栏右键鼠标,选择options
-
修改
text
选项配置-
Locale
设置成zh_CN
-
Character set
设置成UTF-8
-
- 4 回答
- 0 关注
- 554 浏览
添加回答
举报
0/150
提交
取消