郁闷地把MT从3.15降级回2.661

——因为太多的不爽胜于爽,因此还是降级回来吧。降级过程中确保绝大部分内容的完整移植回来
了(幸亏之前有备份)。只是某些回复因为懒所以采用了另外的方法恢复了,不过完全不影响什么
问题。

——至于该死的Spam问题,可能研究一下用那个S-Code的方法先。

后记:可怜的51.net上面没有安装GD模块,我也没有办法自行安装(因为51.net没有console给
我干这种事情),所以不能用scode了。

and,今晚回到家里,上来一看,哇塞,也太强了吧,spam应声即到啊,真是想对那些
spammer说一句:I sleep your mother啊。

MT升级成3.15之后出现的问题

上两个星期一时手痒将MT从2.661升级到3.15,结果发现一大堆的不爽之处。

管理界面没有以前的好看,中文字体大小很别扭。(这个要改style.css,但是我没空)

回复模板上面也有些问题。(这个我也是暂时没空去理)

明明用了中文化的zh_cn.pm了,但是还是有不少地方没有翻译过来,而且zh_cn.pm文件上面确实是翻译了。

每次重建网站的时候到了最后会爆这个错:

Prototype mismatch: sub Params::Validate::validate_pos vs (\@@)
at /…/extlib/Params/ValidatePP.pm line 139.
Prototype mismatch: sub Params::Validate::validate vs (\@$)
at /…/extlib/Params/ValidatePP.pm line 370.

幸好,今天上网找到这个问题的答案: http://www.iay.org.uk/blog/2004/09/movable_type_31_1.html

后记:因为租用空间不是自己管的,所以还是安装不行 🙁

MT管理界面出现奇怪乱码情形的修复方法

——这几天饱受MT Spam的蹂躏,今天晚上进入自己的管理界面居然还发现有些地方乱码了!
如下图:
MTerror1.jpg

MTerror2.jpg

——一切其他操作还算正常,甚至导出的文件,以及系统更新后的前台页面,都没有乱码的问题,
唯独上面这两个地方。估计数据库应该没有损坏(否则导出的时候数据早乱了)。于是到处发掘
解决办法,但是Google了好久都没有头绪。于是从配置文件入手mt.cfg入手,本着一搏的精神
终于找到了解决之道!在mt.cfg文件找以下字符:NoHTMLEntities 1 他的注释是这样说的:

# By default Movable Type uses the Perl module HTML::Entities to encode
# characters into HTML entities, provided that you have this Perl module.
# However, in some circumstances, even if you have this module, you may
# not wish to use it for encoding; for example, if you are using a language
# that uses a different character encoding (Polish, Russian, etc). In that
# case, you should set the value of NoHTMLEntities to 1.

于是打开了这个配置项的开关(将“# NoHTMLEntities 1”前面的“#”去掉),然后顺带改多一
个地方,就是MT安装目录下面%mt%/extlib/CGI.pm,里面查找这段话:
$self->charset(‘ISO-8859-1’); 将其改成$self->charset(‘UTF-8’); 那么我们所有
的CGI程序都是按照UTF-8的编码输出,其最大成效就是MT-Blacklist的界面从原来的iso
变成UTF-8,我们的内容就在blacklist上面正常显示了。

——改好这两个文件,上传回服务器,结果当然是一切正常啦~~不过奇怪的就是为啥我的
MT会忽然发生这种事情呢?还是百思不得其解……