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\當前用戶下的。

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