docker中使用Ubuntu中文亂碼問題解決

一、前言

最近在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打開文件,發現已經可以正確顯示中文了。

發佈了33 篇原創文章 · 獲贊 15 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章