ubuntu vim中文乱码问题解决方法大全

发布时间:2021-01-21编辑:脚本学堂
本文介绍了ubuntu系统中vim中文乱码的解决方法,有需要的朋友参考下。

添加中文字符编码:
 

$sudo vim /var/lib/locales/supported.d/local
#添加下面的中文字符集
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_CN.GB18030 GB18030
 

使其生效:
 

复制代码 代码示例:
$sudo dpkg-reconfigure locales
 

vim:
打开vim的配置文件,位置在/etc/vim/vimrc
在其中加入
 

复制代码 代码示例:
set fileencodings=utf-8,gb2312,gbk,gb18030
set termencoding=utf-8
set encoding=prc
 

保存退出
source /etc/vim/vimrc
此时vim就能正确显示中文了。
 

复制代码 代码示例:
---------------'
pdf:
$sudo apt-get install xpdf-chinese-simplified xpdf-chinese-traditional #安装pdf的中文字体
$sudo apt-get install poppler-data #安装解决pdf中文显示乱码的软件
$cd /etc/fonts/conf.d
$sudo cp 49-sansserif.conf 49-sansserif.conf_backup #先备份下
$sudo rm 49-sansserif.conf #删除
 

在打开pdf文件,就能呢个正常显示中文了
 
gedit:
gedit修改默认显示字符集
$sudo gconf-editor
打开的界面中选择apps->gedit2->preferences->encodings,添加需要的字符集并移动到最上方,保存就可以了。
 
设置默认的字符集
 

复制代码 代码示例:
$sudo gedit /etc/environment
#第二行是默认字符集,设为zh_CH.UTF-8
LANG=zh_CH.UTF-8
LANGUAGAE="zh_CN:zh:en_US:en"
LANG=zh_CN.UTF-8 #不能选择GBK或GB2312,终端界面中文会乱码
LC_CTYLE=zh_CN.GB2312
GST_ID3_TAG_ENCODING=GB2312
$source /etc/environment使其生效
 

 
所有的字符集在/usr/share/i18n/charmaps目录下
locale的书写格式为:语言[_地域[.字符集][@修正值]]

方法2:
由于在新项目里有到了一点点国际化的配置,用于在出错提示,操作提示等方面的,发现在windows下能正常显示出中文,但到了linux就不能显示中文了。
说是linux的中文环境变量的问题。

在终端里输入:set
... 
LANG=C 
LANGUAGE=C 
... 

这是默认的语言编码,如果要显示中文的话就更将其更改为LANG=zh_CN,首先第一步:
#:~ cp /usr/share/i18n/SUPPORTED /var/lib/locales/supported.d/local 

第二步:
vi /var/lib/locales/supported.d/local 

编辑文件,删除你不想要的语言系列.如我的只留en及zh系的

第三步:重新生成locale支持文件
sudo locale-gen --purge 

此时会重新生成locale文件,慢慢等待一下至运行完成.

第四步:设置locale文件,在终端里输入locale命令后回车,将显示出来的内容复制,然后再打开/etc/environment文件,将内容粘贴末尾.保存退出.如我的是这样的:
 

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" 
LANGUAGE="zh_CN:zh:en_US:en" 
LC_ALL=zh_CN.UTF-8 
LANG=zh_CN.UTF-8 
GST_ID3_TAG_ENCODING=UTF-8 
  
LANG=zh_CN 
LANGUAGE=zh_CN 
LC_CTYPE="zh_CN" 
LC_NUMERIC="zh_CN" 
LC_TIME="zh_CN" 
LC_COLLATE="zh_CN" 
LC_MONETARY="zh_CN" 
LC_MESSAGES="zh_CN" 
LC_PAPER="zh_CN" 
LC_NAME="zh_CN" 
LC_ADDRESS="zh_CN" 
LC_TELEPHONE="zh_CN" 
LC_MEASUREMENT="zh_CN" 
LC_IDENTIFICATION="zh_CN" 
  
LC_CTYPE=zh_CN.UTF-8 

然后退出重新登录,在终端里再输入locale,会发现LANG=C已经更改为LANG=zh_CN.再查看下网站就可以成功显示到中文了.

另,由于vi编辑器不太会用,在ubuntu servcr下还可以用pico这个编辑器来代替,至于最后发现,可能前面的一二三步都不需要做,只需要第四步即可完成。
但这没经测试的.ubuntu <wbr>vim中文乱码问题。

linux 中文显示乱码有一部分是由于终端默认的设置造成的。

解决方法: 
vi /etc/sysconfig/i18n 
 
将内容修改为: 
 

复制代码 代码示例:
LANG=”zh_CN.GB18030″ 
LANGUAGE=”zh_CN.GB18030:zh_CN.GB2312:zh_CN” 
SUPPORTED=”zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en” 
SYSFONT=”lat0-sun16″ 
 

 
这样中文在SSH,telnet终端一般即可正常显示了。 
 
如果还是不行,可以这么做: 
1、console终端乱码 
在/etc/profile文件的最后一行添加: 
 

复制代码 代码示例:
export LC_ALL="zh_CN.GB18030" 

2、xwindow终端乱码 
在/etc/sysconfig/i18n文件的最后一行添加:
 

复制代码 代码示例:
export LC_ALL="zh_CN.GB18030"