为了账号安全,请及时绑定邮箱和手机立即绑定

git for windows 使用 git bash here 执行 PHP 脚本输出中文乱码

git for windows 使用 git bash here 执行 PHP 脚本输出中文乱码

PHP
白衣染霜花 2019-03-10 22:19:11
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 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

环境变量, 设置 LANG = zh_CN.UTF-8
试下这个.

查看完整回答
反对 回复 2019-03-18
?
蝴蝶不菲

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
至于为什么路径的问题会造成乱码就不清楚了

查看完整回答
反对 回复 2019-03-18
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

我使用的是 phpstudy 开发环境。我把这个软件升级到 2018版本后 似乎就解决了这个问题。

  • 打开 git bash here 在标题栏右键鼠标,选择 options
  • 修改 text 选项配置

    • Locale 设置成 zh_CN
    • Character set 设置成 UTF-8
查看完整回答
反对 回复 2019-03-18
?
jeck猫

TA贡献1909条经验 获得超7个赞

跟win下的cmd一样,都是gbk的编码,输出utf8就乱码。

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 554 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信