Movable Type 的 wide character in subroutine entry Bug

| 11 Comments

这是一则只写给国内几百个 Movable Type 用户看的信息。

Movable Type 5 的用户可能会遇到关于留言功能的一个小Bug,系统在用户留言的时候提示留言失败(实际上留言已经成功),"wide character in subroutine entry",搜索后可以参考这则 信息 以及 困扰已久的 MT5 的 bug 解决了,但对于没有使用的 Markdown 插件的用户,这两个地方提到的办法只是给了一个思路。更合适的解决办法是打开 MT 的 Debug 模式,然后提交留言,系统提示信息可以让你发现具体是哪一个脚本出错,这次遇到的是 EncWords.pm 176 行提示错误。

于是,修改该文件,在开头加入:

use Encode qw(encode_utf8);

将 176 行的代码:

encode_base64($str, '');

修改为:

encode_base64(encode_utf8($str), '');

重新提交留言测试。MT 5.01、5.02 与 5.03 测试通过。

说句题外话,Movable Type 日渐式微,国内用户也是越来越少了。如果不是用 Perl 开发,比如用 PHP ,可能现在也未必是 WordPress 的天下。基因决定命运,对某些创业企业来说是这样。

--EOF--

更新:后续的几个版本也有同样的问题,需要手工修改一下。Movable Type 越来越没落了。

11 Comments

页脚的Powered by Movable Type(V5)的超链地址是:
http://www.movabletype.com/

应为:
http://www.movabletype.org/

奇怪,我好像从来没有遇到过这个问题。我的版本是5.02。

另外,MT变成今天的样子,完全是咎由自取。Six Apart直到今天还在搞社区版和Pro版,真是脑袋被大象踩过了。

这个问题我也没发现!

多注意以下问题还是可以解决的

天啊,终于有人站出来说句话了,之前也是定位到EncWords.pm有问题,大概也知道是编码的事,就是不知道怎么改才对,太感谢了!

唉,为什么我的改了还是不行,用5.01就不会有问题

唉,还是encwords.pm第176行的问题,明明改过了,很诡异的,之前还出现过5.02全新安装没问题,导入之前的数据库之后就开始出这个错误。
好在没几篇文章,我已经全部删掉重装5.03了,好歹算是没了这个问题。

原来不用 Markdown 也会有这种问题啊,我还以为只有我这种可怜的 Markdown 用户才有这种遭遇呢。Movable Type 用的人就不算多,在加上 Markdown,我当初在网上搜寻的时候几乎绝望了。再加上去年底和 6A 的 Beau Smith 就这个问题邮件交互了半天,最后对方竟然不鸟我了。

问题解决后,我在 MT 的 bug 管理系统里提交了解决方案。我一直以为以 6A 这种规模的公司,就算有再重的工作量,遇到这种小 patch 应该可以马上改进吧,(也许我错了),结果几个版本过去了问题依旧。

昨天借 VPS 开通,我算是放弃了 MT,开始用 WordPress 了。装上 WP 后才从后台看到了你链接了我的文章,之前在 MT 的后台里一点提示都没有。我估计 MT 的那个 trackback 又一次失效了。。。

我现在感觉不到 MT 的好来了,只剩下怀念了。

关于本文

This page contains a single entry by Fenng published on September 13, 2010 6:53 PM.

狗日的中国移动 was the previous entry in this blog.

Oracle Cloud Computing is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.