2007年9月7日星期五

关于编码.待续

web应用开发过程中,一直被字符编码问题困扰,根本的解决方法应当是深入到各个软件层次掌握所有的编码转换过程。曾经试图这样做过,但时间、精力不允许。因此只能搜索其他人的经验,在部分转换节点上加入控制,蒙准了就对了。
今天又被同事问到这个问题,虽然没有精力解决,但在郁闷之际还是忍不住做了一些测试。

首先用gedit创建几个内容相同(“我们”)、编码不同(UTF-8、GB2312、GBK、GB18030、Unicode-16、Unicode-16LE、Unicode-16BE)的文本文件;
之后用gvim分别打开,转换成十六进制显示,得到如下结果:
编码                     “我们”
UTF-8 e6 88 91 e4 bb ac
GB2312 ce d2 c3 c7
GBK ce d2 c3 c7
GB18030 ce d2 c3 c7
Unicode-16 11 62 ec 4e
Unicode-16LE 11 62 ec 4e
Unicode-16BE 62 11 4e ec
最后,分别查看google、baidu的首页源码,确认google、baidu页面编码分别声明为UTF-8和gb2312。
分别在搜索输入框输入“test 我们”,得到查询关键词的URLEncoding如下:
google      test+%E6%88%91%E4%BB%AC
baidu test+%CE%D2%C3%C7

不做分析。

没有评论: