问题描述
诡异之处在于,git bash 中某些指令输出的汉字(如 git log 中的comment)显示正常,某些指令输出的汉字(如 git cherry-pick 中的 comment,git push 中 remote message) 是乱码。
乱码的具体表现是,“测试建议"会显示为"娴嬭瘯寤鸿”。我们知道,这是将 UTF-8的"测试建议"按照 GBK 来解析出现的结果。执行 git push xxx 2> push.txt后,查看 push.txt,可知 git指令输出的字符编码是 UTF-8的。但在后面显示时被某个环节当成了 GBK。但是,git log 指令输出的 UTF-8 字符串却没有被当作 GBK。
到目前,我还没有在网上找到类似的情况。所以,并没有搜索得到答案。所有找到的资料都无法解决这个问题。包括 i18n,mintty设置,LESSCHARSET设置等等。
解决方法
长时间无果后,突然有一天想到了 windows中的非Unicode程序的编码设置。尝试使用 UTF-8后,git bash 中的所有指令中的中文都显示正常了。设置方法参考:
https://blog.youkuaiyun.com/xt_v2012/article/details/93784751
解决GitBash在Windows上中文乱码的问题
文章描述了一种特殊的情况,即在Windows的GitBash中,某些命令(如gitlog)的汉字显示正常,而其他命令(如gitcherry-pick,gitpush)的汉字显示为乱码。乱码是由于UTF-8字符串被错误地当作GBK解析导致的。作者发现,通过修改Windows中非Unicode程序的编码设置为UTF-8,可以解决这个问题。
3156

被折叠的 条评论
为什么被折叠?



