旧书店老板姓周,六十来岁,看我蹲了二十分钟也没催,最后结账的时候还送了我一张 1997 年《电击 PlayStation》的贴纸,边缘都黄了。我回家拆开那本《Fami通》,翻到第 47 页,上面印着一款叫《街 ~運命の交差点~》的文字游戏攻略,表格里全是日文假名和数字。我顺手在笔记本上敲了一段,想确认攻略里的日期,结果浏览器一刷新——满屏问号,偶尔夹杂几个「锟斤拷」风格的方块。这事儿我不陌生,但每次撞上还是觉得荒谬:一个 2025 年的操作系统,读不了 1998 年的一行印刷字。
windows日文乱码 这六个字,我搜过无数遍。大部分教程让你「控制面板 → 区域 → 管理 → 更改系统区域设置 → 选日语 → 重启」,然后确实好了。但代价是——我上个月在 精品丨糖心丨西瓜视频网页版 那边调试页面时,一个用 GBK 编码的老后台直接白屏,后台小哥微信里问我「你电脑是不是中毒了」。这就是我想说的:Windows 把「系统区域」和「乱码」硬绑在了一起,是个二十多年前的历史包袱,它当年为了兼容 DOS 时代的日文程序,给了非 Unicode 程序一个「默认代码页」的开关,结果这个开关到今天还在。我不喜欢改它。我的做法是装一个叫 Locale Emulator 的小工具,右键单独给那个程序指定日文环境,系统本身不动。说句可能得罪人的话:那些让你无脑改系统区域设置的教程,是在用一个人的麻烦换另一个人的麻烦。
还有一层,字体缺字。我那次把 Chrome 的默认字体 从「微软雅黑」切到「Yu Gothic」之后,乱码少了八成,但有一行「髙橋」的「髙」还是显示成豆腐块——这个字在 Shift-JIS 里根本没有,是后来扩充的 JIS X 0213 才收进去的。我拿 FontForge 打开那个字体看了一眼,果然没有这个码位。于是我把那行字复制到记事本,存成 UTF-8,再贴回去,就好了。你看,这事儿最后变成一个很具体的动作:不是「解决乱码」,是「把这个字补上」。我在笔记本第 12 页上写了这句话,旁边画了个小方框。
顺便提一句,那天下午我还翻了 按尺寸坐公交车小镇 明月皎皎 小说 里的一段,里面写主角在便利店打印文件,打印机吐出来的小票上日文全变成了问号,我当时笑出声,因为这个场景我经历过——2019 年在京都的一家 7-11,我用自助复印机扫一份中文合同,出来全是「????」。回国之后我查了半个月资料,才搞明白那是打印机固件的字体集里没装中文字形,跟 windows日文乱码 是同一个老祖宗:编码和字体,两件事被混为一谈。我在 亚洲国产午夜羞羞羞ai 那篇旧文里也提过一嘴,可惜当时没展开。