省配置下,用 Ubuntu 的文本編輯器(gedit)打開 GB18030/GBK/GB2312 等類型的中文編碼文本文件時,將會出現亂碼。
出現這種情況的原因是,gedit 使用一個編碼匹配列表,只有在這個列表中的編碼才會進行匹配,不在這個列表中的編碼將顯示為亂碼。您要做的就是將 GB18030 加入這個匹配列表。
* 命令行方式,適用於所有 Ubuntu 用戶。
複製以下命令到終端中,然後回車即可:
gconftool-2 --set --type=list --list-type=string /apps/gedit-2/preferences/encodings/auto_detected "[UTF-8,CURRENT,GB18030,BIG5-HKSCS,UTF-16]"
* 圖形化方式,適用於 Ubuntu 用戶,而不適用於 KUbuntu/XUbuntu 用戶。
您可以遵循以下步驟,使您的 gedit 正確顯示中文編碼文件。
1. 按下 Alt-F2,打開“運行應用程序”對話框。
2. 在文本框中鍵入“gconf-editor”,並按下回車鍵,打開“配置編輯器”。
3. 展開左邊的樹節點,找到 /apps/gedit-2/preferences/encodings 節點並單擊它。
4. 雙擊右邊的 auto_detected 鍵,打開“編輯鍵”對話框。
5. 單擊列表右邊的“添加”按鈕,輸入“GB18030”,單擊確定按鈕。
6. 列表的最底部新增加了一個“GB18030”。單擊選中它,並單擊右邊的 “向上” 按鈕直到 “GB18030” 位於列表的頂部為止。
7. 單擊確定按鈕,關閉配置編輯器。
現在,您的 gedit 應該能夠順利打開 GB18030 編碼的文本文件了。
出現這種情況的原因是,gedit 使用一個編碼匹配列表,只有在這個列表中的編碼才會進行匹配,不在這個列表中的編碼將顯示為亂碼。您要做的就是將 GB18030 加入這個匹配列表。
* 命令行方式,適用於所有 Ubuntu 用戶。
複製以下命令到終端中,然後回車即可:
gconftool-2 --set --type=list --list-type=string /apps/gedit-2/preferences/encodings/auto_detected "[UTF-8,CURRENT,GB18030,BIG5-HKSCS,UTF-16]"
* 圖形化方式,適用於 Ubuntu 用戶,而不適用於 KUbuntu/XUbuntu 用戶。
您可以遵循以下步驟,使您的 gedit 正確顯示中文編碼文件。
1. 按下 Alt-F2,打開“運行應用程序”對話框。
2. 在文本框中鍵入“gconf-editor”,並按下回車鍵,打開“配置編輯器”。
3. 展開左邊的樹節點,找到 /apps/gedit-2/preferences/encodings 節點並單擊它。
4. 雙擊右邊的 auto_detected 鍵,打開“編輯鍵”對話框。
5. 單擊列表右邊的“添加”按鈕,輸入“GB18030”,單擊確定按鈕。
6. 列表的最底部新增加了一個“GB18030”。單擊選中它,並單擊右邊的 “向上” 按鈕直到 “GB18030” 位於列表的頂部為止。
7. 單擊確定按鈕,關閉配置編輯器。
現在,您的 gedit 應該能夠順利打開 GB18030 編碼的文本文件了。
关
于Ubuntu中编码不能自动识别,打开GB2312或GBK编码的文件总是乱码的问题网上有很多相关的文章,多也好用。但对于vi中文乱码的问题,网上
很多办法似乎都无效,其中《vim中编辑不同编码的文件时需要注意的一些地方》一文从原理上对编码的问题进行了解释。不过,最实际的还是CSDN
Blog上的一篇文章,现转载如下:
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
把GB18030放到第一位。
感谢lec的支援。
enca工具很方便,用于检测文件内码(前提是系统环境支持,如,环境不支持BIG5,是无法检测的,这个晕了我许久)
安装 sudo apt-get install enca
用法 enca filename
/////////////////////////////////////////////////////////////////////////
在Ubuntu的字符界面下,经常在有中文的地方出现乱码。经过不断搜索与尝试,现在总结一下Ubuntu下增加中文字符编码的方法。
一. Ubuntu默认的中文字符编码
Ubuntu默认的中文字符编码为zh_CN.UTF-8,这个可以在/etc/environment中看到:
sudo gedit /etc/environment
可以看到如下内容:
PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games”
LANG=”zh_CN.UTF-8″
LANGUAGE=”zh_CN:zh:en_US:en”
第二行即是默认的中文字符编码。注:可以通过这里修改默认的中文编码字符,比如修改为:zh_CN.GBK。
二. 添加中文字符编码的方法
1. 直接使用locale-gen
在超级终端输入命令:
sudo locale-gen zh_CN.GB18030
即可完成中文字符集的添加。完成后可以转到/usr/lib/locale/,下面已经有一个zh_CN.gb18030文件夹;在超级终端输入命 令:gedit /var/lib/locales/supported.d/local,可以发现文件中多了一行:zh_CN.GB18030 GB18030。说明添加成功。
2. 输入下面命令增加GBK支持:
sudo locale-gen zh_CN.GBK
即可生成相应文件:/usr/lib/locale/zh_CN.gbk/
不过,他文中解决vi的办法似乎是针对vim的,对于vi我试了一下依然无效的样子
====================================
今天(2010/06/28)发现一解决办法:
输入如下命令即可正常显示
:edit ++enc=gbk
可简写为
:e ++enc=gbk
其中gbk为文本的正确编码。虽然麻烦了一点,但至少可以正常显示了
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
把GB18030放到第一位。
感谢lec的支援。
enca工具很方便,用于检测文件内码(前提是系统环境支持,如,环境不支持BIG5,是无法检测的,这个晕了我许久)
安装 sudo apt-get install enca
用法 enca filename
/////////////////////////////////////////////////////////////////////////
在Ubuntu的字符界面下,经常在有中文的地方出现乱码。经过不断搜索与尝试,现在总结一下Ubuntu下增加中文字符编码的方法。
一. Ubuntu默认的中文字符编码
Ubuntu默认的中文字符编码为zh_CN.UTF-8,这个可以在/etc/environment中看到:
sudo gedit /etc/environment
可以看到如下内容:
PATH=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games”
LANG=”zh_CN.UTF-8″
LANGUAGE=”zh_CN:zh:en_US:en”
第二行即是默认的中文字符编码。注:可以通过这里修改默认的中文编码字符,比如修改为:zh_CN.GBK。
二. 添加中文字符编码的方法
1. 直接使用locale-gen
在超级终端输入命令:
sudo locale-gen zh_CN.GB18030
即可完成中文字符集的添加。完成后可以转到/usr/lib/locale/,下面已经有一个zh_CN.gb18030文件夹;在超级终端输入命 令:gedit /var/lib/locales/supported.d/local,可以发现文件中多了一行:zh_CN.GB18030 GB18030。说明添加成功。
2. 输入下面命令增加GBK支持:
sudo locale-gen zh_CN.GBK
即可生成相应文件:/usr/lib/locale/zh_CN.gbk/
不过,他文中解决vi的办法似乎是针对vim的,对于vi我试了一下依然无效的样子
====================================
今天(2010/06/28)发现一解决办法:
输入如下命令即可正常显示
:edit ++enc=gbk
可简写为
:e ++enc=gbk
其中gbk为文本的正确编码。虽然麻烦了一点,但至少可以正常显示了