前两天刚写了个文章《阿里云OSS文件名中文导致的图片出错》,提到因为图片采用中文名导致无法显示并通过转码解决的问题,没想到内链也发生同样的问题。
最初写日志的时候还算是有不错的习惯,尽量将文章标题转成英语后作为URL保存,所以也没出过什么问题。后来觉得太麻烦(英语太烂,翻个标题花的时间快赶上写文章的时间),索性就把标题直接黏贴到url中。
日志慢慢也多了些,难免会在其中穿插些内链,typecho自从升级到1.1正式版之后,提供了Markdown实时预览的功能,在预览屏幕中一切都很正常,所以也就没往心里去,直到最近因为偶尔要翻自己的日志,点击内链老是发生404错误才想起要处理一下。
第一反应是后台设置出问题,但回想之后也没动过什么。然后沿时间线往前回忆,以为升级ssl之后伪静态的问题,直到今天看到segmentfault的某个帖子才意识到是Hypedown解析器的问题,不支持中文直接解析。
找出站点中某篇日志,把内链的中文转码重新保存,果然问题解决。

还有一个问题,貌似在没有没有进行CDN加速后者是升级SSL之前,编辑器是可以直接将中文转码的,所以这锅貌似也不全是由Hypedown解析器来背。
看来还得花点时间研究一下,否则每次手动转码太麻烦了。

参考文档:《markdown中对含有汉字的url无法正确打开的bug

最后修改:2020 年 03 月 16 日
如果觉得我的文章对你有用,请随意赞赏