快速业务通道

最近几天FreeBSD系统的一些切入点

作者 佚名技术 来源 操作系统 浏览 发布时间 2012-06-28

单位的事情理顺了,也就有了一些时间关注一些自己感兴趣的东西

FreeBSD的libc库中locale的实现一直是我所关注的,看了些代码,饶有兴趣的对KDE桌面环境的locale做了一些简单的测试。这次测试还是很有收获的,起码我知道了KDE环境下所说的默认编码不是特指UTF-8,而是locale中所定义的编码。

内码,编码集,编码,显示这些总是在我脑海里面绕乎,有的时候就把自己给绕迷糊了。趁着头脑清醒,整理一下。

测试使用的第一个程序是konsole,它提供了编码的选择,测试的命令是 "mkdir 我的文档",KDE环境是utf-8

一、locale = zh_CN.GBK 编码是GBK

输入的命令可以正确显示“mkdir gbkgbk我的文档",建立的目录在konsole可以正确显示。在konq中显示为方框的乱码。可以推想的是,目录名是按照gbk编码方式进行编码的。

二、locale = zh_CN.GBK 编码是UTF-8

输入的命令可以正确显示“mkdir gbkutf我的文档“,建立的目录在konsole中可以正确显示,但"gbkgbk我的文档“显示存在乱码——(gbkgbk?业??牡?)。在konq上显示正常,可以推想的是,在这种环境下,目录名肯定是按照utf编码进行显示的,"gbkgbk我的文档“的显示结果可以解释为,利用UTF编码方式对gbk编码目录名的误读。回溯到“编码为GBK“,“gbkutf我的文档”显示为乱码。

从以上两个结果推断,生成的目录名和“编码”有关,locale的作用不大。

三、locale = zh_CN.UTF-8 编码为utf-8

输入的命令可以正确显示为“mkdir utfutf我的文档“,建立的目录在konsole,konq中都显示正常。但gbkgbk我的文档,在locale为gbk和utf两种locale环境下,输出是不同的。

试图解释其中的缘由。首先utf-8编码的两个目录的显示是相同的(字面上是相同的,其实还是有一定的问题),能够确定的是"gbkgbk。”这个目录的编码是gbk的。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号