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会忽然发生这种事情呢?还是百思不得其解……

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注