背景
在开发小红花·文摘的早期,就发现一个问题:偶尔有些文章的标题会出现乱码,见下图红框处:
当时就花了不少时间去琢磨字符串编解码,包括使用chardet
去猜测编码也没用,因为猜测的结果是utf-8
,但这显然是不知道原来是什么编码又被错误使用utf-8
编码的结果,不知道原来的编码自然不可能还原。就这样始终不得其法,又因为有这种情况的内容很少,虽然我有点强迫症,但衡量成本收益比,当时就决定算了。
AI
这段时间又发现几篇,正好人相当闲一点,就又思考起来。突然灵机一闪:这乱码是啥,能不能用 AI 猜出来?马上调 ChatGPT 出马,居然手上擒来:
<根据您提供的乱码,我猜测这个乱码是由于编码格式不匹配所致。
从字面上看,这个字符串包含很多我ç‰å—符号,这是旧版本的 GB2312 编码格式中常见的错误。
然而,这个字符串中也有ä¸å¹¸æ¥çš„éž ASCII 字符,而 ASCII 标准并不支持这些字符。
根据我的推测,这个字符串应该是这句话的乱码:我第一次给 Linux 内核做贡献,不仅被剥夺了,并且遭到了维护者的轻视。