windows下git中sh.exe中文显示乱码问题解决

Posted 秋风兮月

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows下git中sh.exe中文显示乱码问题解决相关的知识,希望对你有一定的参考价值。

在windows中安装git for windows,直接打开git-bash.exe使用中文显示没有问题,因为git-bash.exe是使用的mintty进行显示的,在这个环境中可以使用git的自动补全功能,还能 使用一些Linux常用命令。
在cmd中直接使用git命令,中文显示也没有问题,但是git命令无法自动完成,并且不能使用一些Linux下常用的命令,所以感觉不是很方便。
在使用IntelliJ Idea进行开发时,Terminal在当前项目中进行一些命令行操作还是比较方便的,例如git命令之类的,不用切换路径。但是windows操作系统中,Terminal直接使用的是CMD,所以有的时候就会存在上面所说的不方便的地方。
那么存不存在两全其美的方法呢,最终皇天不负有心人,最终试验成功了,用起来特别的爽。
我把IntelliJ Idea的Terminal替换成了git中自带的sh.exe命令端程序。这个时候就具备了git-bash.exe中输入命令的优点。但是这个时候存在一个问题,中文显示乱码,一度让我十分纠结。后来各种搜索,终于找到了配置方法。
其实很简单,只需要在git安装目录中的etc目录下修改bash.bashrc文件。在该文件头部加入:

export LANG=zh_CN.utf-8
alias ls='ls --show-control-chars --color=auto'

保存,然后就可以显示中文了。
如果中文这时候还是乱码,那么把export LANG=zh_CN.utf-8替换成:

export LC_ALL=zh_CN.UTF-8

另外需要提及的一点是“HOME”环境变量的配置所可能产生的影响,如果有的时候.gitconfig、.bashrc等一些文件的配置没有生效,那么就需要注意这种情况。例如我自己的电脑上,我在系统环境变量中配置了HOME

C:\\msys64\\home\\chen

我测试发现,直接点击运行git-bash.exe的时候,会先加载bash.bashrc文件,然后还会加载HOME变量所在位置的.bashrc文件,.gitconfig会使用HOME变量所配置路径下的.gitconfig。如果不配置HOME,则会使用系统C:\\Users\\当前用户下的配置。
但是在intelliJ Idea下点击Terminal窗口的时候,则不会受HOME变量配置的影响,只会加载bash.bashrc文件。所使用的.gitconfig是C:\\Users\\当前用户下的。

以上是关于windows下git中sh.exe中文显示乱码问题解决的主要内容,如果未能解决你的问题,请参考以下文章

windows下git中文乱码如何解决?

git - Windows 上 git 中文乱码

Windows下Git Status的乱码问题解决方案

windows下GIt Bash中文乱码怎么解决

windows下samba访问linux ftp 中文乱码

Windows XP上的Git sh.exe进程分叉问题,慢吗?