解決 Git 在 windows 下中文亂碼的問題(轉載)
阿新 • • 發佈:2019-02-19
解決 Git 在 windows 下中文亂碼的問題
原因
中文亂碼的根源在於 windows 基於一些歷史原因無法全面支援 utf-8 編碼格式,並且也無法通過有效手段令其全面支援。
解決方案
-
安裝
-
設定(以下需要修改的檔案,均位於 git 安裝目錄下的 etc/ 目錄中)
2.1. 讓 Git 支援 utf-8 編碼
在命令列下輸入以下命令:
$ git config --global core.quotepath false # 顯示 status 編碼 $ git config --global gui.encoding utf-8 # 圖形介面編碼$ git config --global i18n.commit.encoding utf-8 # 提交資訊編碼 $ git config --global i18n.logoutputencoding utf-8 # 輸出 log 編碼 $ export LESSCHARSET=utf-8 # 最後一條命令是因為 git log 預設使用 less 分頁,所以需要 bash 對 less 命令進行 utf-8 編碼
2.2. 讓 ls 命令可以顯示中文名稱
修改 git-completion.bash 檔案:
# 在檔案末尾處新增一行 alias ls="ls --show-control-chars --color"
經過以上折騰之後,基本可以解決中文顯示的問題。唯一的麻煩在於輸入中文字元時會顯示亂碼,目前還沒有完美的解決方案。
以下描述一個可用的臨時方案:
-
前提條件:
git commit
時,不用-m
引數,也就是不在命令列下直接輸入提交資訊,而是敲回車,讓 vim 來接管 -
進入 vim 後,按
i
鍵進入編輯模式,然後輸入提交資訊。(可多行) -
輸入完成後按
esc
退出編輯模式,然後輸入:wq
,也就是寫入+退出,即可。 -
如果進入 vim 後發現不能輸入中文,那麼先按
esc
退出編輯模式,然後輸入::set termencoding=GBK
,即可。(也可能是 GB2312,都試一下)
還好我們有 GUI
實在搞不定命令列的童鞋,請直接使用各種 GUI 工具吧!
-
使用 eclipse IDE的,可以安裝 EGit 外掛
-
不使用 IDE 的,可以搜尋一個叫做 SmartGit 的 GUI 客戶端
That’s All!