Blog on 27th Floor
主页 随便 电脑 电影 社会 阅读 下载 本站 存档
主页 随便 电脑 电影 社会 阅读 下载 本站 存档

转Utf8引来一堆乱码

05/21/06。  cathayan.org版权所有,保留一切权利。转载请保留此说明。谢绝商业转载。


事情的起因是安装Debian的Vim7之后,直接启动Gvim出现错误一处,说menu.vim的487行不是正确的菜单项,看了一下,没发现什么毛病,同时发现用非GBK编码启动就没有这个错误,也有人提议转Unicode算了。于是我就转了。

转成Utf8之后,就是全面设成zh_CN.utf8,本来LC_CTYPE还保持zh_CN,但发现这样一来Xfce4-terminal和Gnome-terminal还是用zh_CN也就是GB2312的编码,比如直接显示date是乱码,在Gterm的菜单“终端”里面设编码的地方可以看到当前编码是GB2312。所以最后把Ctype也设成了utf8。这个问题解决了。

新问题是在term里用vim编码文件存盘退出后,Term乱码了。有没有vimrc都要乱掉,实在是受不了。见图1。问了一圈还是没有解决。同时用Konsole和rxvt-unicode就不会乱,所以本来用xfce4term的,现在也改用urxvt了。谁能提点建议?

早上本来想再切回gbk算了,切回去之后,发现Term里编码已经是gbk了,可message输出又乱了,明明它也是gbk编码,可就像还在用utf8一样全乱了。见图2。与此同时,运行gvim时所有菜单都显示成????,很典型的乱码,但同时又出现了gbk编码下那个菜单项目错误。实在搞不懂,只好又回到utf8,此时什么也没改,apt输出正常,gvim的菜单也不乱了。

当然现在也能工作,只是感觉是超级不爽。问题有两个:

1、gtk2的term怎么会在vim编辑之后彻底乱掉?乱掉后接受键盘输入,但不回显,同时输出也是一堆乱码。
2、有人提到可能某些X程序在以不同于系统Locale的方式在运行?会有这样的事吗?就像图2中的输出,所有Locale项目全是gbk了。现在用的是gdm,它自己也要设语言,但每次进去X之后我也都设了同系统一样的编码,在term上输出Locale已经全部正确。但确实像Gterm会只认LC_CTYPE而忽略LANG等项目一样,我现在也怀疑某些程序可能有自己的确定编码的方法,就像gterm里运行apt的结果,以及gvim菜单一样,问题是不知道怎么设定它们。哪位给点提示?

系统:Debian Sid,Xfce4,Gdm

05/21/06 09:01:08,由cathayan发表。目录:电脑

8条评论

不少程序可以自动识别编码
比如ie :)

http://onedou@tom.com onebird 于 05/21/06 11:17:30 发表. 

我曾经转到UTF-8一段时间
但是周围的人都是GB2312,
最后还是把我给拉回了GBK
:(

Shiqi 于 05/21/06 12:30:22 发表. 

别人用 gb2312,自己照样可以用 utf-8 嘛~ @@~ 只是好像 windows 对 utf-8 支持不是很好?前些天给别人 u 盘装了点东西,文件是 utf-8, 他的 windows 显示为乱码。。

http://williamxu.net9.org william 于 05/21/06 13:45:21 发表. 

多谢诸位。

reset 是管用的。只是不爽。刚才回来又试了一个操作,整了个系统缺省的bashrc过来,再启动term就再也没出现过乱码,里面也看不到什么设置term的地方。

总算是好了。

http://blog.cathayan.org/member/1 cathayan 于 05/21/06 15:13:59 发表. 

Ubuntu Dapper才是王道 XD

Fermi 于 05/21/06 15:53:25 发表. 

bashrc确实可以导致终端乱码,很久以前我也遇到过。具体原因,到现在也不明白。
linux下还是用utf8好些。最初用utf8是因为fcitx输入法可以打出更多的汉字来。有一个麻烦是,创建中文文件名的文件归档,在win下解压后会乱码。

ybyygu 于 05/21/06 20:04:41 发表. 

我的local是这样的,gdm和kdm启动进gnome或者kde的term用vim都很正常,奇怪。
$ locale
LANG=en_US.UTF-8
LANGUAGE=en_CN:en_US:en_GB:en
LC_CTYPE=zh_CN.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

http://www.kdolphin.com kDolphin 于 05/21/06 21:00:00 发表. 

现在这个用新的Bashrc解决了,问题在哪里不太清楚。不管它了。

另一个问题是现在如果换回用gbk的编码,启动gvim后菜单会乱码,明明全部包括term在内都已经使用gbk编码了,但gvim好像还没有理解这一点,坚持使用另一种编码。

http://blog.cathayan.org/member/1 cathayan 于 05/21/06 21:29:29 发表. 


这篇文章已经关闭,不能添加评论和投票
I am watching and will delete all spam.

我的E-Mail


Copy&Paste Exchange

访问CPeX Group

订阅Feed

订阅Feedburner
Feedsky订阅
本站订阅

请登录

导航

cathayan.org Web

最新贴

RIME 小狼毫/鼠须管的极点及五笔拼音配置
Software that rocks or sucks less
一棵热带的树换新叶的过程
几个有用的Vim招术
论语七 述而
Nomacs 图像浏览器
Windows 文件校验
Windows 10 文件批量命名简单方法
Windows 10 文件删除高级操作
本站也算是有响应式设计了

最新评论

Powered by

Powered by Nucleus CMS

版权声明

Creative Commons License
Blog on 27th floor by Cathayan is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Powered by Nucleus CMS v3.71. Best view with Mozilla browsers.