锟斤拷锟斤拷 - 经典Unicode乱码

锟斤拷是什么?我也是最近才搞明白的。

http://www.baidu.com/baidu?word=%EF%BF%BD%EF%BF%BD

http://www.google.com/search?hl=en&q=%E9%94%9F%E6%96%A4%E6%8B%B7

我考证了一下,这个乱码的原因来源相当经典。

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的环境中显示的话

一个汉字2个字节,最终的结果就是:锟斤拷 哈哈。。。

Python代码:

>>> u'\uFFFD'.encode('utf-8')*2
'\xef\xbf\xbd\xef\xbf\xbd'
>>>
>>> print u'\uFFFD'.encode('utf-8')*2
锟斤拷

例如这个招聘就非常经典:

单位性质: 外商独资企业 所属行业: 线缆
单位规模: 100 - 499人 注册资金: 1299
联 系 人: 锟斤拷锟斤拷 联系人职位: 锟斤拷锟斤拷
传  真: 021-69178632 联系电话:
电子信箱: xuan_guo@walsin.com
通信地址:
邮  编:
单位网址:
单位介绍: 台锟斤拷锟斤拷业锟斤拷台锟斤拷锟斤拷锟侥碉拷f锟斤拷锟斤拷锟斤拷锟?锟斤拷锟斤拷/锟斤拷锟斤拷
招聘职位:锟斤拷锟斤拷 人数:20人
发布日期: 2007-07-17
联系人: 锟斤拷锟斤拷

编码问题真是个TMD烦人的问题。例如:15.jpg

最后我在wikipedia上开了一个 锟斤拷 的页面。瓦咔咔。。瓦咔咔。。。

标签: ,

8 条评论 发表在“锟斤拷锟斤拷 - 经典Unicode乱码”上

  1. xi2008wang 说到:

    据悉,该现象产生的原因是多方面的,一来是Microsoft、Sun等垄断公司对打广告投入大量资金,但是对编码问题这种细节做得不够细致,二来是PM经常克扣程序员工资,导致程序员代码激情和质量下降。

    haha

  2. sean 说到:

    有意思的
    我在win下面ssh到一台UTF8的FREEBSD上
    如果不调PUTTY的编码
    就老是看到这个

  3. shawiz 说到:

    恭喜你被solidot了

  4. cheng p s 说到:

    我对Unicode有点不了解,有问题想请教一下:
    “Unicode和老编码体系的转化过程中,肯定有一些字,用Unicode是没法表示的,Unicode官方用了一个占位符来表示这些文字,这就是:U+FFFD REPLACEMENT CHARACTER
    那么U+FFFD的UTF-8编码出来,恰好是 '\xef\xbf\xbd'。”
    1)我有点没弄懂Unicode和utf-8概念上的区别,他们是平等的概念吗?
    2)U+FFFD不是0xff 0xdd?为什么是'\xef\xbf\xbd'?

  5. Lukialee 说到:

    不错啊,我还以为是百度出问题了。
    用Opera浏览器时,经常出现这样的问题。

  6. 苏州大学 说到:

    的确是个比较烦人的问题。哎。。。

  7. caoliushequ 说到:

    总是有这个关键词查询到我的网站上,很奇怪,终于在你的网上上找到了出处,真不容易,原因是这么一回事啊

  8. [...] 1366: Incorrect string value: ‘xEFxBC 此问题和编码问题有关(http://initiative.yo2.cn/archives/634636;锟斤拷锟斤拷 – [...]

留下回复