ubuntu 10.04 vi 与 gedit 打开文件显示中文乱码的解决方法
2013-01-05 11:09
701 查看
一、 gedit 打开文件显示中文乱码的解决方法
装好了Ubuntu 10.04后,打开部分Windows下的txt文本文件的时候,中文显示为乱码。但是自己用Gedit编写新文件的时候,输入的中文却可以正常显示,保存后再退出也可以正常显示。而且对于Windows下的文本文件,也不是全部含有中文的都显示为乱码。
整理下思路,如果真的是中文无法正常显示的问题,也就是字体设置问题,是不应该有文件能够正常显示中文的,应该全部乱码才对。而事实上并非如此,所以这个猜测可以排除。那么,会不会是文件编码的问题?Linux下默认的编码是UTF-8,而Windows下默认的编码是GB2312/GBK。难道是编码问题引起的问题?切换到Windows系统下,输入一段中文后,保存为UTF-8的txt文件,然后再另存同一个文件为GB2312编码格式。再次切换到Ubuntu 10.04下,打开这两个文件,果然GB2312编码的文件乱码了。
看来问题已经找到了,接下来就是解决问题了。其实问题的解决办法很简单,步骤如下:
1. 打开终端,在其中输入命令:
#gconf-editor
并回车。
2. 在新开的窗口里,在左边依次展开“apps”、“gedit-2”、“preferences”、“encodings”。如图所示:
配置编辑器 - encodings
3. 在右边的窗口里,双击“auto_detected”。
4. 在弹出的对话框里,单击“添加”按钮,输入“GB18030”并点击“确定“按钮。如图所示:
编辑键
5. 现在,这个对话框里的列表中的最下面多了一个“GB18030”的选项,然后选中他,点击右边的“向上”按钮,直到“GB18030”排到第一位。
6. 关闭这两个对话框,再次运行Gedit即可生效。
现在,GB2312/GBK/GB18030编码的文本文件中的中文文字终于不会显示乱码了。
二、 vi 打开文件显示中文乱码的解决方法
执行 sudo vi /etc/vim/vimrc
加入以下配置参数
set fileencodings=utf-8,gb2312,gbk,gb18030,big5
set termencoding=utf-8,gb2312,gbk,gb18030
加入以上两行后,用vi 打开后代码中汉字部分显示正常。
vim编码方面的基础知识:
——此处是vim编辑多字节编码文档(中文)所要了解的一些基础知识,注意其没有涉及gvim,纯指字符终端下的vim。
1. 存在3个变量:
encoding—-该选项使用于缓冲的文本(你正在编辑的文件),寄存器,Vim 脚本文件等等。你可以把 ‘encoding’ 选项当作是对 Vim 内部运行机制的设定。
fileencoding—-该选项是vim写入文件时采用的编码类型。
termencoding—-该选项代表输出到客户终端(Term)采用的编码类型。
2. 此3个变量的默认值:
encoding—-与系统当前locale相同,所以编辑文件的时候要考虑当前locale,否则要设置的东西就比较多了。
fileencoding—-vim打开文件时自动辨认其编码,fileencoding就为辨认的值。为空则保存文件时采用encoding的编码,如果没有修改encoding,那值就是系统当前locale了。
termencoding—-默认空值,也就是输出到终端不进行编码转换。
由此可见,编辑不同编码文件需要注意的地方不仅仅是这3个变量,还有系统当前locale和、文件本身编码以及自动编码识别、客户运行vim的终端所使用的编码类型3个关键点,这3个关键点影响着3个变量的设定。
如果有人问:为什么我用vim打开中文文档的时候出现乱码?
答案是不确定的,原因上面已经讲了,不搞清楚这3个关键点和这3个变量的设定值,出现乱码是正常的,倒是不出现乱码那反倒是凑巧的。
装好了Ubuntu 10.04后,打开部分Windows下的txt文本文件的时候,中文显示为乱码。但是自己用Gedit编写新文件的时候,输入的中文却可以正常显示,保存后再退出也可以正常显示。而且对于Windows下的文本文件,也不是全部含有中文的都显示为乱码。
整理下思路,如果真的是中文无法正常显示的问题,也就是字体设置问题,是不应该有文件能够正常显示中文的,应该全部乱码才对。而事实上并非如此,所以这个猜测可以排除。那么,会不会是文件编码的问题?Linux下默认的编码是UTF-8,而Windows下默认的编码是GB2312/GBK。难道是编码问题引起的问题?切换到Windows系统下,输入一段中文后,保存为UTF-8的txt文件,然后再另存同一个文件为GB2312编码格式。再次切换到Ubuntu 10.04下,打开这两个文件,果然GB2312编码的文件乱码了。
看来问题已经找到了,接下来就是解决问题了。其实问题的解决办法很简单,步骤如下:
1. 打开终端,在其中输入命令:
#gconf-editor
并回车。
2. 在新开的窗口里,在左边依次展开“apps”、“gedit-2”、“preferences”、“encodings”。如图所示:
配置编辑器 - encodings
3. 在右边的窗口里,双击“auto_detected”。
4. 在弹出的对话框里,单击“添加”按钮,输入“GB18030”并点击“确定“按钮。如图所示:
编辑键
5. 现在,这个对话框里的列表中的最下面多了一个“GB18030”的选项,然后选中他,点击右边的“向上”按钮,直到“GB18030”排到第一位。
6. 关闭这两个对话框,再次运行Gedit即可生效。
现在,GB2312/GBK/GB18030编码的文本文件中的中文文字终于不会显示乱码了。
二、 vi 打开文件显示中文乱码的解决方法
执行 sudo vi /etc/vim/vimrc
加入以下配置参数
set fileencodings=utf-8,gb2312,gbk,gb18030,big5
set termencoding=utf-8,gb2312,gbk,gb18030
加入以上两行后,用vi 打开后代码中汉字部分显示正常。
vim编码方面的基础知识:
——此处是vim编辑多字节编码文档(中文)所要了解的一些基础知识,注意其没有涉及gvim,纯指字符终端下的vim。
1. 存在3个变量:
encoding—-该选项使用于缓冲的文本(你正在编辑的文件),寄存器,Vim 脚本文件等等。你可以把 ‘encoding’ 选项当作是对 Vim 内部运行机制的设定。
fileencoding—-该选项是vim写入文件时采用的编码类型。
termencoding—-该选项代表输出到客户终端(Term)采用的编码类型。
2. 此3个变量的默认值:
encoding—-与系统当前locale相同,所以编辑文件的时候要考虑当前locale,否则要设置的东西就比较多了。
fileencoding—-vim打开文件时自动辨认其编码,fileencoding就为辨认的值。为空则保存文件时采用encoding的编码,如果没有修改encoding,那值就是系统当前locale了。
termencoding—-默认空值,也就是输出到终端不进行编码转换。
由此可见,编辑不同编码文件需要注意的地方不仅仅是这3个变量,还有系统当前locale和、文件本身编码以及自动编码识别、客户运行vim的终端所使用的编码类型3个关键点,这3个关键点影响着3个变量的设定。
如果有人问:为什么我用vim打开中文文档的时候出现乱码?
答案是不确定的,原因上面已经讲了,不搞清楚这3个关键点和这3个变量的设定值,出现乱码是正常的,倒是不出现乱码那反倒是凑巧的。
相关文章推荐
- ubuntu 12.04 中gedit打开txt等文件中文乱码的解决方法
- ubuntu-10.04 gedit文本编辑器打开中文文本文件乱码的解决办法
- ubuntu 中用vim打开txt等文件中文显示乱码的解决方法
- fedora 15 中用vi 打开windows中创建的文件时,中文注释部分显示乱码解决办法:用vim 打开就可以
- Linux_gedit和vim打开中文显示乱码解决方法
- ubuntu10.04 gedit 支持 中文 以及 打开 空文件提示段错误的解决办法【转】
- 【解决方法】Ubuntu文本编辑器gedit打开中文出现乱码的
- 【解决方法】Ubuntu文本编辑器gedit打开中文出现乱码的
- ubuntu下的“用vim打开中文乱码,用cat打开正常显示”的解决方法
- ubuntu下的“用vim打开中文乱码,用cat打开正常显示”的解决方法
- 【解决方法】Ubuntu文本编辑器gedit打开中文出现乱码的
- ubuntu gedit 中文显示乱码解决方法
- 终端输入ubuntu gedit 中文显示乱码解决方法
- ubuntu下gedit打开txt中文乱码问题解决方法
- 【解决方法】Ubuntu文本编辑器gedit打开中文出现乱码的
- ubuntu14.04中 gedit 凝视能显示中文,而source insight中显示为乱码的解决的方法
- ubuntu gedit 中文显示乱码解决方法
- 解决Ubuntu系统中文乱码显示问题,终端打开文件及查看目录
- gedit打开txt文件中文乱码的解决方法
- 解决gedit打开txt文件乱码问题and解决pdf中文不显示的问题