为什么知乎不支持 non-BMP 的汉字?

一些物理化学建筑医学等方面的专业性的词语会碰到一些non-BMP的汉字, 或者在语言文字讨论中也经常会涉及到一些处于non-BMP的次常用汉字, 一些并非罕用的汉字由于历史原因类推简化的版本处于non-BMP,虽为所谓「规范汉字」但不得不使用繁体的版本(如人名常见的「頔」,对应的简体类推版本在CJK-ExtD)。 CJK-ExtB/C/D/E以及未来新增的字符都将处于non-BMP,且其中一些字使用的频率也还是比较高的 作为一个涉及多种专业内容的网…
关注者
36
被浏览
4,327
更新:知乎已于2016年4月支持超出 BMP 的 Unicode 字符。

- - -

知乎的数据库建立之时就只支持 BMP。很明显当初建立数据库的人不关心也不懂 Unicode。
开发者不关心 Unicode 真的是没辙。
想要支持 non-BMP 字符,最直接的方法当然是把这个数据库升级到 utf8mb4,不过 @波斯基 提出的用转义也是个值得考虑的曲线救国方法。

知乎的这个问题虽然不是月经但也是被质疑好多次了。

另外,BMP 内的汉字是否能显示就主要是系统字体的问题了。知乎似乎也没太大必要特地(比如用 web font)去解决生僻汉字显示的问题,只算是将来能锦上添花的事情吧。

- - -

知乎的工程师杨昆在评论中说明了:
最初使用的mysql5.1 并不支持utf8mb4,如果要支持只有使用binary。使用binary二进制文本很不方便查看和检索,而且最初确实没有考虑到utf8不能满足后来的互联网使用的情况。 现在已切到5.5一年多,考虑到要转表导数据的成本迟迟没做,同时也有一些其他的竞争解决方案。支持emoji一度在议程中,但因为要做其他优先级更高的事被推延了。内部的共识是这个肯定会做,只是目前不迫切没有排在哪个组的okr中,我希望明年能去推动它。