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\当前用户下的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章