[转载]vim, vi, gedit 中文编码问题
(一)、vim, vi的中文编码问题
(1)添加中文字符编码:
(1a) 在文件/var/lib/locales/supported.d/local中添加下列语句【$sudo vim /var/lib/locales/supported.d/local】:
#添加下面的中文字符集
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_CN.GB18030 GB18030
(1b) 使其生效:【$sudo dpkg-reconfigure locales】
(2)修改vim的配置文件
(2a) 在文件/etc/vim/vimrc.local中添加下列语句【$sudo vim /etc/vim/vimrc.local】
set fileencodings=utf-8,gb2312,gbk,gb18030
set termencoding=utf-8
set encoding=prc
(2b) 然后执行 【$source /etc/vim/vimrc.local】 使其生效。
(二)、gedit的中文编码问题
$sudo gconf-editor
打开的界面中选择左侧的apps->gedit2->preferences->encodings,
$sudo gconf-editor
打开的界面中选择apps->gedit2->preferences->encodings,在右边的窗口里,双击“auto_detected”;
在弹出的对话框里,单击“添加”按钮,输入“GB18030”并点击“确定“按钮;
现在,这个对话框里的列表中的最下面多了一个“GB18030”的选项,然后选中它,
点击右边的“向上”按钮,直到“GB18030”排到第一位。
关闭这两个对话框,再次运行Gedit即可生效。
(三)、其他软件的中文编码问题
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文件,就能呢个正常显示中文了
设置默认的字符集
$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.再查看下网站就可以成功显示到中文了.