tanghz1968的个人博客分享 http://blog.sciencenet.cn/u/tanghz1968

博文

[转载]vim, vi, gedit 中文编码问题

已有 5816 次阅读 2012-8-31 11:40 |个人分类:软件使用|系统分类:教学心得|关键词:pp,中文,local| 中文, local |文章来源:转载

(一)、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=zh_CN,首先第一步:


第二步:


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

第三步:重新生成locale支持文件


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

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

  1. PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
  2. LANGUAGE="zh_CN:zh:en_US:en"
  3. LC_ALL=zh_CN.UTF-8
  4. LANG=zh_CN.UTF-8
  5. GST_ID3_TAG_ENCODING=UTF-8
  6. LANG=zh_CN
  7. LANGUAGE=zh_CN
  8. LC_CTYPE="zh_CN"
  9. LC_NUMERIC="zh_CN"
  10. LC_TIME="zh_CN"
  11. LC_COLLATE="zh_CN"
  12. LC_MONETARY="zh_CN"
  13. LC_MESSAGES="zh_CN"
  14. LC_PAPER="zh_CN"
  15. LC_NAME="zh_CN"
  16. LC_ADDRESS="zh_CN"
  17. LC_TELEPHONE="zh_CN"
  18. LC_MEASUREMENT="zh_CN"
  19. LC_IDENTIFICATION="zh_CN"
  20. LC_CTYPE=zh_CN.UTF-8



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

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

====================================================================

  1. linux 中文显示乱码解决办法, 其实是有多种情况的, 有一部分是由于终端默认的设置造成的
  2. vi /etc/sysconfig/i18n
  3. 将内容改为
  4. LANG=”zh_CN.GB18030″
  5. LANGUAGE=”zh_CN.GB18030:zh_CN.GB2312:zh_CN”
  6. SUPPORTED=”zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en”
  7. SYSFONT=”lat0-sun16″
  8. 这样中文在SSH,telnet终端一般可以正常显示了。
  9. 如果还是不行,可以这么做:
  10. 1、console终端乱码
  11. 在/etc/profile文件的最后一行添加如下内容:
  12. export LC_ALL="zh_CN.GB18030"
  13. 2、xwindow终端乱码
  14. 在/etc/sysconfig/i18n文件的最后一行添加如下内容:
  15. export LC_ALL="zh_CN.GB18030"

 



http://blog.sciencenet.cn/blog-208613-607763.html

上一篇:[转载]启动MATLAB /lib64/libc.so.6: not found 解决方法
下一篇:Win7 下用IE9浏览网页时频繁出现“IE已停止工作”

0

评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-7-23 04:25

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部