一、前言

最近在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打开文件,发现已经可以正确显示中文了。

docker中使用Ubuntu中文乱码问题解决
Tagged on:

发表评论

电子邮件地址不会被公开。 必填项已用*标注