1. 程式人生 > >解決 Git 在 windows 下中文亂碼的問題(轉載)

解決 Git 在 windows 下中文亂碼的問題(轉載)

解決 Git 在 windows 下中文亂碼的問題

原因

中文亂碼的根源在於 windows 基於一些歷史原因無法全面支援 utf-8 編碼格式,並且也無法通過有效手段令其全面支援。

解決方案

  1. 安裝

  2. 設定(以下需要修改的檔案,均位於 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"

經過以上折騰之後,基本可以解決中文顯示的問題。唯一的麻煩在於輸入中文字元時會顯示亂碼,目前還沒有完美的解決方案。

以下描述一個可用的臨時方案:

  1. 前提條件:git commit 時,不用 -m 引數,也就是不在命令列下直接輸入提交資訊,而是敲回車,讓 vim 來接管

  2. 進入 vim 後,按 i 鍵進入編輯模式,然後輸入提交資訊。(可多行)

  3. 輸入完成後按 esc 退出編輯模式,然後輸入 :wq,也就是寫入+退出,即可。

  4. 如果進入 vim 後發現不能輸入中文,那麼先按 esc 退出編輯模式,然後輸入::set termencoding=GBK,即可。(也可能是 GB2312,都試一下)

還好我們有 GUI

實在搞不定命令列的童鞋,請直接使用各種 GUI 工具吧!

  1. 使用 eclipse IDE的,可以安裝 EGit 外掛

  2. 不使用 IDE 的,可以搜尋一個叫做 SmartGit 的 GUI 客戶端

That’s All!