LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1103|回复: 6

我对于utf8和gb2312编码的理解,请大家指点,该如何选择?

[复制链接]
发表于 2005-8-1 10:42:03 | 显示全部楼层 |阅读模式
之所以gedit能够打开一个内容编码为gb2312的文件,是因为gedit能自动探测编码,识别
而vi打开这个文件就是乱码,因为vi无法自动识别
两种编码的文件内容差别很容易搞清楚,gb2312是用两个字节 表示一个汉字,但是utf8使用的是三个字节表示一个汉字,这点可以用winhex清晰的发现
关于文件名的编码,我认为也是一样的,只是winhex打开文件的时候根本无法看到文件名的编码,打开的只是文件的内容而已

我始终相信utf8是大势所趋,因为所有的东西要统一,utf8能做到,无论是什么文字,用三个字节的utf8编码都能够无重复的表示出来,所以决定在gnome中使用utf8编码

可是当我使用了zh_CN.UTF-8之后,发现菜单变成英文(虽然无所谓,但是我搞不懂)
另外日历消失(更搞不懂,再添加依然无法显示)
还请大家指教,反正我是一定要用utf8啦,先谢过了
发表于 2005-8-1 11:32:03 | 显示全部楼层
gedit无法自动识别编码。它之所以能够正确打开GB编码的文件,是因为我在gedit的配置中预设了默认的编码是GB18030。UTF-8也不一定是用三个字节来表示汉字,有的汉字就是用两个字节表示的;况且,UTF-8还会使用4个字节来表示其它语言字符的。

编码和字符集是两个完全不同的概念,请不要混为一谈。谢谢。

UTF-8不是大势所趋,有些事情是不能统一的。你搞不清楚就不要搞了,只要知道怎么用就可以了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-1 11:41:20 | 显示全部楼层
可是我有好多问题无法调整到一致
使用中文utf8的locale无法显示日历和中文菜单(这个比较奇怪阿)
还有就是挂载win分区的时候有问题

能不能说下有无两全方法?
回复 支持 反对

使用道具 举报

发表于 2005-8-1 11:43:43 | 显示全部楼层
反正Mandriva下没有这个问题。你自己系统的locale定义得不对,不要怪到其它方面上。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-1 11:46:30 | 显示全部楼层
我定义locale为gb2312(只有这个)
是不是还要添加一些?
回复 支持 反对

使用道具 举报

发表于 2005-8-1 11:51:18 | 显示全部楼层
这个要看你的系统是怎么配置locale的了。各个系统的配置方法不同,况且各系统的预设配置也有很大差别。比如,Mandriva是所有系统中,date命令直接输出“2005年8月1日”的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-1 11:54:00 | 显示全部楼层
呵呵,了解了
linux真是百花齐放。。晕啦~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表