昨天下午三点二十分,我在城南旧货市场的第三排摊位,花 80 块买下一台 HP LaserJet Pro M1132。摊主老周拍了拍机器外壳上的灰,说这是某公司清仓退下来的,能打印,就是「有时会乱」。我没多想。回工作室插上 USB,装上驱动,打了一份自己写的小样。纸张一出来,我愣了:四百多个汉字里,有二百一十三个变成了方块、问号和「锟斤拷锟斤拷」的重复。那个瞬间我脑子里只有一个念头:我花了 80 块,买了两百多个方块。
我把那页纸铺在桌上,用红笔把乱码的位置一个个圈出来。圈到第三行时,我发现规律不在字上,而在空格上:每一处中文和英文混排的地方,乱码都像是被什么撕开过。我打开系统设置,字体是 Mac 自带的,编码是 UTF-8,一切正常。我把同一份文件发给朋友陈默,他在他 2019 年的打印机上打出来,干干净净。问题不在这份文件。问题在这台机器,或者更准确地说,在它的固件——2016 年出厂的那批设备,固件里内置的中文字库只有 6741 个常用字,超出的部分会直接替换成占位符。
乱码不是玄学,是一份没被更新的字库
我花了两个晚上去查这件事。惠普在 2017 年发过一个固件更新,补丁说明写得干巴巴的,只有一句「扩展东亚语言字符集支持」。也就是说,这台机器出厂那一年,没人告诉它中文有那么多字。写到第三个晚上,我忽然有点生气,不是对惠普,而是对我们自己:我们习惯了把「不乱码」当成默认,把「能打印」当成理所当然,却从没问过那些字是从哪来的、谁定的、漏掉了哪些。老周的摊位上,一个来买墨盒的姑娘说,她也遇到过,打印合同的时候甲方名字里有个「玥」字,打出来是方框,最后她手填的。她说完笑了笑,像在说一件小事。我没笑。
这份怨气也不是第一次冒出来。上个月我在整理自己的旧稿子时,翻到 2023 年写的一篇关于网页排版的稿,开头就是一句「排版是内容的骨架」。当时我觉得这句话挺稳的,现在读起来像一句废话。骨架不会说话,但字会。你给一个「玥」字配上的是方框,那甲方在合同上就不存在。你给一篇文章配上满屏的加载占位符,那这篇文章在读者眼里就等于没写。乱码从来不是技术问题,它是「有人没被算进去」的问题。
「编码不是中立的,它是一张谁被记住、谁被丢掉的名单。」—— 摘自与陈默的聊天记录,2026 年 2 月 3 日 22:47
我们被喂了多少「锟斤拷」
顺着这台打印机,我又看了几个站。有一个做二手书交易的小站,书名里的生僻字被替换成「?」,搜索框里输不进去,用户只能凭作者猜。有一个本地的社区公告,把街道名写错成谐音字,理由是「系统不支持」。还有一个我常看的博客,2024 年之后的所有文章,标题里的英文全变成了全角,点进去正文却正常。这些都不算大事,单拎出来都是「可以忍」。但它们叠在一起的时候,读的人会累。你会发现自己读东西时多了一层心虚:这行字是真的吗,还是被改过的?
说句可能不讨喜的:我不认为「乱码」是被技术淘汰的东西,它正是技术运行方式的一部分。每一次字符映射、每一次字体回退、每一次自动替换,都在悄悄决定你能看见什么、看不见什么。那 213 个方块,不是因为打印机坏了,而是因为某个做固件的人认为「这些字用不上」。他没恶意,他只是没算过。真正让人上火的是,这种「没算过」在 2026 年还在批量发生,而且大多数时候,我们连那个方块都看不见,因为它被换成了一个更顺眼的词。
我拿那页纸做了张书签
那页打了 213 个方块的 A4 纸,我没扔。我剪了一角,大概 6 厘米宽、15 厘米长,夹在工作台那本《字体故事》里。每次翻到那儿,都会看到「锟斤拷」三个字。它提醒我一件事:写东西的时候,先想清楚哪些字会被丢掉,再想怎么写。这台 80 块的打印机现在还能用,我给它更新了固件,乱码只剩 3 个。但我没去修那 3 个。留着挺好。对了,如果你也对这类「被系统吃掉的东西」感兴趣,可以看看 com98tla 里那组旧网页存档,还有 co.7777com 上关于字符集的老帖,都是别人嚼过的骨头,但嚼得还算认真。另外,iuiu.9c.com 和 zwjhqx.com 这两个路径下的东西,也和我这几天翻的资料有关,链接放这儿,感兴趣的自己去看。