最近几天FreeBSD系统的一些切入点
2009-05-13 14:05:49来源:未知 阅读 ()
单位的事情理顺了,也就有了一些时间关注一些自己感兴趣的东西
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环境下,输出是不同的。
%ls locale=utf-8
gbkgbk?ҵ??ĵ? gbkutf我的文档 utfutf我的文档
%setenv LANG zh_CN.GBK
%ls locale=gbk
gbkgbk?ҵ??ĵ? gbkutf我的文档 utfutf我的文档
这个结果很让我费解,试图解释其中的缘由。首先utf-8编码的两个目录的显示是相同的(字面上是相同的,其实还是有一定的问题),能够确定的是"gbkgbk。。。。”这个目录的编码是gbk的
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/12258/showart_707372.html
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:[FB7]系统恢复安装
下一篇:[转载]makefile规则
- ACL 疑问 2009-05-13
- 选择FreeBSD的中文编码 2009-05-13
- 做完raid之后,系统无法启动,各位兄弟帮帮忙吧 2009-05-13
- freebsd系统共享上网问题! 2009-05-13
- PC-BSD 7.1不能登录 2009-05-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash