在git中出现中文乱码的解决方案

综述 : 偶然遇到了这个问题,在网上找了一些答案,没有全部试过,但是这一条命令 $git config --global core.quotepath false (备注:红色的Git 应该小写为 git ,这是csdn上用来标注知识点类别的强调) 成功解决了我的问题,下面是转载内容,原文内容太多,只摘取一部分作为参考。原文出处为: http://zengrong.net/post/1249.htm

解决方案

  • 在cygwin中,使用git add添加要提交的文件的时候,如果文件名是中文,会显示形如 274\232\350\256\256\346\200\273\347\273\223.png 的乱码。
    • 解决方案:在bash提示符下输入: git config --global core.quotepath false
    • core.quotepath设为false的话,就不会对0x80以上的字符进行quote。中文显示正常。

  • 在MsysGit中,使用git log显示提交的中文log乱码。
    解决方案:
    1. 设置git gui的界面编码 git config --global gui.encoding utf-8
    2. 设置 commit log 提交时使用 utf-8 编码,可避免服务器上乱码,同时与linux上的提交保持一致! git config --global i18n.commitencoding utf-8
    3. 使得在 $ git log 时将 utf-8 编码转换成 gbk 编码,解决Msys bash中git log 乱码。git config --global i18n.logoutputencoding gbk
    4. 使得 git log 可以正常显示中文(配合i18n.logoutputencoding = gbk),在 /etc/profile 中添加:export LESSCHARSET=utf-8

  • 在MsysGit自带的bash中,使用ls命令查看中文文件名乱码。cygwin没有这个问题。
    • 解决方案:
      1. 使用 ls --show-control-chars 命令来强制使用控制台字符编码显示文件名,即可查看中文文件名。
      2. 为了方便使用,可以编辑 /etc/git-completion.bash ,新增一行 alias ls=“ls --show-control-chars”

  • 终极的解决方案是通过修改git和TortoiseGit源码实现,有网友这么做了:让Windows下Git和TortoiseGit支持中文文件名/UTF-8 ,也可以直接访问这个开源的Google项目:utf8-git-on-windows 。

  • 如果不抗拒命令行的话,直接用Cygwin来提交Git库。因为Cygwin其实是一个在Windows平台上的模拟器,它完全模拟GNU/Linux的方式运行,所以Cygwin中的Git是采用UTF-8编码来保存中文的。

参考

另外,还找到了一些相关的文章:

  • http://www.cnblogs.com/silentjesse/p/4079263.html
  • http://www.cnblogs.com/diyingyun/archive/2012/11/20/2778889.html
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值