Blog

Movable Type 5 生成站点的宽字符错误

自从 Movable Type 5 的测试版本释放出来之后,我自己安装过好几次了。从很早开始我就发现当我导入我之前写过的文章之后,重新生成站点时会出现错误。几乎每个版本放出来后,我都会尝试一次,但每次都是同样的问题,我之前也写过好几次了。去年 12 月中旬我和 MT5 的开发者 Beau Smith 交流过这个问题,到最后也不了了之。

几天前 MT5 的正式版也出来了,我测试了一下,问题依旧存在。看到一些人已经把站点升级了,我也有点着急,可惜着急也没用,开发者自己都找不出问题来,何况是用户?

不过,昨天晚上我在后台查看相关的设置的时候,看到了调试这个选项。以前我知道这个功能,但一直没有用过。昨天灵机一动,想不知道打开 debug mode 后会不会有更多的提示呢?于是我按照文档上的说明,启动了调试模式,再发布站点,果然告诉了我更多的信息:

Wide character in subroutine entry at /home/dogsayne/public_html/cgi-bin/MT-5.01-en/plugins/Markdown/Markdown.pl line 286.

很明显的看出来,问题是发生在 Markdown 身上。这让我不禁有些无语,我从还在用 WordPress 的时候就开始用 Markdown 了,我觉得 Markdown 在格式和输入速度上达到了一个比较好的平衡,因此我一直都是在用 Markdown 来写每一篇文章的。这时候告诉我 Markdown 不行,我要怎么样来重新调整每一篇文章啊?

我对 Markdown 的程序本身没有什么研究,因此到了 286 行看了看之后,也毫无头绪。而且 Markdown.pl 已经算是一个老程序了,作者很久没有更新了,所以按理说也不应该出现这个问题才对。我试着从 Markdown 的官方网站上下载了这个程序,替换到 MT 里面,结果生成的时候 MT 直接告诉我程序的 hash 值和原先的不符,好像意思是不允许我自己改动程序的组成部分。

在我目前使用的 MT 4.32 版本中,我用的 Markdown 还是正常的,因此我把两个 Markdown.pl 文件用 diff 来比对,结果新版本只是多了use bytes; 这么一行,理论上说来这应该不会是问题才对。

目前来说,遇到这个情况,在还没有解决方法的时候,我觉得应该可以升级,保留之前生成的文件也算是一种取巧的方法,毕竟 MT 不同于 WP。但这样一来就无法重新生成整站了,只属于无奈之举。

MT 的文章管理功能应该还是比较薄弱的,比如说我不能统一把所有文章的格式都从目前的设定改动到其它设定。当然在日常生活中这样做是无意义的,但我现在没有这项功能,就无法确定是不是到底是 Markdown 的问题,这让我一直很头疼。

1 comment

  1. 沙发

Leave a Reply