解决ubuntu文件乱码问题-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

解决ubuntu文件乱码问题

简介:

文章转载http://yunwei.info/?paged=2

 

按下 Alt-F2,是打开“运行应用程序”

打开vim的配置文件,位置在/etc/vim/vimrc

在其中加入

set fileencodings=utf-8,gb2312,gbk,gb18030
set termencoding=utf-8
set encoding=prc

保存退出,此时vim就能正确显示中文了。

对于gedit,解决方法如下:

在终端中运行 gconf-editor

在打开的界面中选择: apps->gedit-2->preferences->encodings

在右边的auto_detected和shown_in_menu上点右键编辑,点add,分别加入GB2312,并点UP按钮移动到第一位。关闭,就可以在gedit中显示中文了。
使ubuntu正常显示GB2312、GBK编码文件
ubuntu环境设置的字符集utf8,windows默认字符集是GBK,Ubuntu的默认字符集为utf-8,这使 得在用telnet登录远程服务器或查看windows文件时出现乱码。需要将ubuntu环境设置为GBK或GB2312,或设置软件使其正确显示汉 字。下面以GBK字符集为例进行说明:

一、修改Ubuntu默认字符集为GBK
1、首先设置sudo vi /var/lib/locales/supported.d/local
添加一行 zh_CN.GBK GBK
sudo locale-gen生成locale

2、修改ubuntu的字符集
方法一: 修改用户目录下的.profile文件,增加以下内容:
LANGUAGE=”zh_CN:zh:en_US:en”
LANG=zh_CN.GBK
重新登录即可。
这个方法只对该用户有效。
方法二:修改/etc/environment,增加以下内容:
LANGUAGE=”zh_CN:zh:en_US:en”
LANG=zh_CN.GBK
然后重启X即可
这个方法对没有设置LANG及LANGUAGE环境变量的用户有效

二、设置软件命名其正常显示GBK
这需要软件本身支持多字符编码,最常见的是IE等浏览器,可以通过设置编码显示GBK字符集。Ubuntu下的一些软件也支持此功能,以ubuntu的终 端程序为例,使其正常显示GBK编码的方法是:在termial窗口上点击菜单:终端->设置字符编码->选择GBK即可。

##########################################
解决文件名,mp3标签,文本文件的中文乱码

转换文件名由GBK为UTF8

sudo apt-get install convmv
convmv -r -f cp936 -t utf8 –notest –nosmart *
转换文件内容由GBK到UTF8

iconv -f gbk -t utf8 $i > newfile

转换 mp3 标签编码

sudo apt-get install python-mutagen
find . -iname “*.mp3” -execdir mid3iconv -e GBK {} \;

#####################################
buntu默认的打开.txt文件用的是gedit,可gedit默认编码是UTF8,打开windows下编辑的gb2312的文档都是乱码。解决方法之一就是把gedit的编码改为GB2312,方法如下:

在Applications菜单上点右键,选择EditMenu.在MainMenu的对话框中勾选SystemTools-ConfigurationEditor,并从Applications菜单中开启。

依次开启/apps/gedit-2/preferences/encodings/双击右侧auto_detected,在弹出对话框中点选Add,添加Values值为GB2312,确定后选中,点选Up按钮将其移至第一位。

同样方法,对show_in_menu进行设置,并将GB2312置于首位。

还有一种方法是用openoffice打开.txt文件时,会让你选择编码,选GB2312就行了。

***********************************************

1.系统默认编码
将系统的默认编码设置为 GBK, 这样和 Windows 下面的开发环境最接近. 设置的方法应该不止一种, 我采用的是编辑 /etc/environment, 改成这个样子:
LANGUAGE=”zh_CN:zh:en_US:en”
GST_ID3_TAG_ENCODING=GBK
LANG=zh_CN.GBK
LC_CTYLE=zh_CN.GBK

**********************************************
Ubuntu 中文编码设置

Ubuntu 默认采用UTF8编码,可以方便global。但对中文支持,还不细致,即便默认采用中文安装,也并不会自动添加GB*等支持,致使在Ubuntu下访问部分Win文本文件时,出现乱码。

I. 配置系统环境
执行 sudo vi /var/lib/locales/supported.d/zh
加入以下配置参数

zh_CN.GB18030 GB18030 (最新汉字编码字符集,向下兼容GBK,GB2312)
zh_CN.GBK GBK (汉字扩展编码,向下兼容GB2312, 并包含BIG5全部汉字)
zh_CN.GB2312 GB2312 (简化汉字编码字符集, 最近有客户要我们改进GB2312,太看得起我们了,我只能说:”NO!”)
zh_CN.GB18031 GB18031 (数字键盘汉字编码输入,面向手持设备,我的Nokia3120从来就是发短信,接听电话,无法和PC通讯,就不用这个了。 maybe用Google Android SDK的大侠们需要这个)
zh_HK.BIG5 BIG5 (繁体)
zh_TW.BIG5 BIG5 (繁体)

然后执行 sudo locale-gen
提示以下信息,成功了
zh_CN.GB18030… done
zh_CN.GBK… done
……

II. 系统环境支持GB*内码了,但用vi, gedit等工具访问文件还会继续乱码,需要针对不同的工具分别配置,使之自己检测支持范围内的编码
e.g. vi
执行 sudo vi /etc/vim/vimrc
加入以下配置参数
let &termencoding=&encoding
set fileencodings=utf-8,gb18030,gbk,gb2312,big5

e.g. gedit
执行 sudo gconf-editor
选择 apps/gedit-2/preferences/encodings
找到 auto_detected 编辑,在Values中分别加入 GB18030,GBK,GB2312,BIG5


本文转自holy2009 51CTO博客,原文链接:http://blog.51cto.com/holy2010/402835


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: