2008年12月2日星期二
锟斤拷——经典Unicode乱码 zz
Firefox浏览网页看到乱码的机会要比IE多得多,除了设计者只考虑IE平台外,乱码主要与字符编码系统有关。例如一个网页中常出现的乱码“锟斤拷”(百度,Google),它就是新老编码系统转换中出现的。est's blog的一篇日志特地考证了问题来源: Unicode和老编码体系的转化过程中,肯定有一些字,用Unicode是没法表示的,Unicode官方用了一个占位符来表示这些文字,这就 是:U+FFFD REPLACEMENT CHARACTER。那么U+FFFD的UTF-8编码出来,恰好是 '\xef\xbf\xbd'。如果这个'\xef\xbf\xbd',重复多次,例如 '\xef\xbf\xbd\xef\xbf\xbd',然后放到GBK/CP936/GB2312/GB18030的环境中显示的话就是“锟斤拷——锟(0xEFBF),斤(0xBDEF),拷(0xBFBD)”。作者声称:该现象产生的原因是多方面的,一来是Microsoft、Sun等垄断公司对编码问题这种细节做得不够细致,二来是PM经常克扣程序员工资,导致程序员代码激情和质量下降。 solidot评论经常会出现“Your comment has too few characters per line”,这个问题应该也是和编码有关系。
标签: unicode utf-8
订阅 博文 [Atom]