一、前言
最近在docker中使用Ubuntu作爲編譯環境,遇到了中文亂碼情況,分爲不同的解決場景,下面分別給出解決方法。
下面的方法都不是將系統的語言修改爲中文,而是能夠正確顯示和輸入中文。
- git log中文亂碼
- git commit 無法輸入中文
- vim 中文亂碼
環境:Ubuntu14.04,其他版本未做驗證。
二、git log中文亂碼
(一)問題
使用git log
時,發現中文提交記錄爲亂碼:
(二)解決方法
1.臨時
在命令行中使用下面的命令:
git config --global i18n.commitencoding utf-8
git config --global i18n.logoutputencoding utf-8
export LESSCHARSET=utf-8
但是這個只能臨時生效,要想永久生效,需要修改環境變量。
2.永久
git config --global i18n.commitencoding utf-8
git config --global i18n.logoutputencoding utf-8
將環境變量寫入bashrc
:
vim ~/.bashrc
最後一行加入:
export LESSCHARSET=utf-8
三、git commit 無法輸入中文
(一)問題
這時候git log
可以顯示中文了,但是當我們修改代碼後,使用git commit -m "提交信息"
時還是無法輸入中文。
(二)解決方法
vim ~/.inputrc
增加下面的內容:
set meta-flag on
set convert-meta off
set input-meta on
set output-meta on
這時候重新打開終端發現已經可以提交中文信息了。
四、vim無法顯示中文
(一)問題
還是剛纔的Ubuntu系統,我們發現某個文檔裏有中文信息,使用cat
命令可以看到中文信息,但是使用vim
打開後卻顯示的亂碼。
(二)解決方法
vim /etc/vim/vimrc
在最後增加下面的內容:
set fileencodings=utf-8,gb2312,gbk,gb18030
set termencoding=utf-8
set encoding=utf-8
這時候再使用vim
打開文件,發現已經可以正確顯示中文了。