Geek
Unicode 中的幽灵字符
# 感谢 Weibing 投递译稿
1978年,日本经济产业省(日本行政机关之一)发布了一套编码系统,即后来的 JIS X 0208。这份编码系统对日本后来的所有编码系统都影响深远。但是就在这份编码发布后,大家发现有其中的几个字符很奇特——没人知道它们从何而来、什么意思、怎么发音。这就是所谓的幽灵字符(日语: [幽霊文字] ) 。
很长一段时间,这些幽灵文字虽然奇特,但是无人解释,也被大多数人遗忘(毕竟不是很多)。但在1997年,日本人终于坐不住了,发起一个大型的调查来研究这些文字的来龙去脉。
一般来说,收录到 JIS 标准的字符都有具体来源记录。即使来源不甚清楚,也会说明在哪些文档。所以,你可能认为会很容易追溯到这些字符的根源,但是我们可能得谈谈”文档“的定义——这些幽灵字符的一个常见来源是《国土行政区划总览》(日语:国土行政区画総覧),包含了所用的日本地名。你可能和我一样,一开始认为这仅仅是普通的地图册,一本几百页的大书。但事实是,最新版本的《总览》是一套七卷本,每本大概都900页。想象一下在这里面一个一个地查找字符,而且还不知道在那一页!
幽灵字符:妛挧暃椦槞蟐袮閠駲墸壥彁
尽管如此,日本人还是做到了(佩服):他们发现了这些幽灵字符的来源——至少是最可能的来源。通过询问那些参加标准制定的索引员们,调查员们发现一些幽灵字符其实是在索引过程中错误地制造出来的!例如,“妛”这个字本来是用来表示“上山下女”的另外一个字,一个在日本非常著名地点用到的字(因此值得收入到 JIS 标准)。在当时,因为没有这字,所以没有办法打印这个字,所以索引员单独打印了“山”和“女”,然后剪切粘帖在一张纸(基础PS……),最后扫描复制。但是后来的索引员读到这个复印件,把两个字中间粘缝产生的横线认为是一划,于是错误地造了这个字。讽刺的是,本来想表示的那个字(“上山下女”)直到最近才加入到 JIS 和后来的 Unicode 文档,导致很多网站都无法显示这个字(冤……)。
调查之后,所有的幽灵字符中只有一个字符没明确来源:“彁”。最有可能的解释是:这是另一个字符“彊”的错写,但没在其他文档发现这种错法。
由于 JIS 标准的广泛接受,在 CJK 合并过程的时候,这些幽灵字符也被 Unicode 收录。
所以,1978年的一系列错误无中生有地制造了幽灵字符。当我们发现这个错误的时候,为时已晚,幽灵已经嵌入整个系统。现在这些字符——至少有可能——成为全世界所有电脑的一部分,徘徊在字符表的黑暗角落。
照此下去,它们将于人类共存亡,永远。
[Weibing via dampfkraft]