在Windows下安裝Git-preview-1.8.4後,使用中發現許多的亂碼問題,感受甚是不便。這是由於Git是在linux下開發的管理軟件,而linux的編碼方式是基於UTF-8的,因此移植到Windows以後不免會存在編碼方式不一樣的狀況,因此極易產生亂碼。即使如此,也是有解決方案的,方法以下:(如下假設Git-preview的安裝路徑爲C:\Program Files (x86)\Git)
1.在Git Bash提示符下,使用git add添加含有中文的新文件時亂碼(亂碼相似:\316\304\261\276\316\304\265\265.txt)。
解決方案:
編輯C:\Program Files (x86)\Git\etc\inputrc文件中對應的行:
查找如下2行,並修改其值:
原先:
set output-meta off
set convert-meta on
改成:
set output-meta on
set convert-meta off
2.在Git Bash提示符下,使用git log查看含有中文的log信息時亂碼(亂碼相似:<E4><BF><AE><E6><94><B9><E6><96><87><E6><9C><AC><E6><96><87><E6><A1><A3>)。
解決方案:
在Bash提示符下輸入:
git config --global i18n.commitencoding utf-8
git config --global i18n.logoutputencoding gbk
注:設置commit提交時使用utf-8編碼,可避免Linux服務器上亂碼;同時設置在執行git log時將utf-8編碼轉換成gbk編碼,以解決亂碼問題。
編輯C:\Program Files (x86)\Git\etc\profile文件,添加以下一行:
export LESSCHARSET=utf-8
注:以使git log能夠正常顯示中文(須要配合:i18n.logoutputencoding gbk)。
3.在Git Bash提示符下,使用ls命令查看含有中文的文件名亂碼(亂碼相似:????.txt)。
解決方案:
使用ls --show-control-chars命令來強制使用控制檯字符編碼顯示文件名,便可查看中文文件名。
爲了方便使用,能夠編輯D:\Git\etc\git-completion.bash文件,添加以下一行:
alias ls="ls --show-control-chars"
4.在Git Gui中查看UTF-8編碼的文本文件時亂碼(亂碼相似:鍩誇腑鏂囨枃妗£)。
解決方案:
在Bash提示符下輸入:
git config --global gui.encoding utf-8
注:經過上述設置,UTF-8編碼的文本文件能夠正常查看,可是GBK編碼的文件將會亂碼,因此仍是沒有從根本上解決問題。
可行的方法之一爲:將全部文本文件的編碼統一爲UTF-8或GBK,而後設置相應的gui.encoding參數爲utf-8或gbk。linux