1

标签 “MT”

MovableType 的历史编码问题

最近刚刚把网站迁移到新的 VPS,还是放在 DigitalOcean,但是系统已经是全新的 Ubuntu 20.04 LTS。

迁移 Blog 需要把数据库备份,然后导入到新的服务器上的数据库中后才行。

本Blog 用的是 MovableType,从 2004 年开始建立的,当时采用的是 MT 3.11。中间迁移过好多次,每次导出的数据,看上去都是乱码,而且如果用 phpmyadmin 之类的工具查看数据的话,也是乱码。但是导入之后,从 MT 后台看到的还是正确的,可以正常地使用,所以就一直没有怎么去管它。

这次确实出现了导入后, 在 MovableType 后台看到的还是乱码,当然如果直接发布,就会全部是乱码的文字了,不知如何解决。

于是外事不决问 Google,一番搜索之后,找到下面这段,看着很类似我现在的问题。

Movable Type 5 默认使用的编码是 UTF-8,但是数据库连接中却优先使用当前数据库的 DEFAULT CHARSET 设置。如果在建立数据库的时候,DEFAULT CHARSET = utf8 那不会出什么问题,但如果设置是 DEFAULT CHARSET = latin1 就会出现一些问题,不巧的是,很多 MySQL 数据库的默认编码设置就是 latin1。

如果数据库的默认编码是 latin1,Movable Type 仍然会按照 UTF-8 编码保存数据,而数据库则用 latin1 编码保存和识别信息,在 Movable Type 界面中显示数据都是正常的,但是在需要导出或备份数据库的时候就会出现乱码了,比如用 phpMyAdmin 查看这些数据库中表里的记录,发现中文全部是乱码,导出后的文件也是乱码。

如何把这些乱码转换成正确的字呢?可以尝试下面的方法。

如果数据库的名字是 db_name,使用下面的导出命令:

mysqldump -uroot -p --default_character-set=latin1 --skip-set-charset db_name > db.sql

输入密码后产生 db.sql 文件,替换文件中的 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci 为 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci 以及替换 collate latin1_general_ci 为 collate utf8_unicode_ci,之后新建一个数据库,注意设置 DEFAULT CHARSET = utf8,在这个数据库中执行导出的 SQL 就可以将这些"乱码"转换为正常的字了。

实际操作时,我是这样做的。

先用上面的 mysqldump 命令把数据库导出到一个 sql 文件,(这时导出的 sql 文件内容已经没有乱码了。显示中文正常。)然后用 Notepad++ 打开 sql 文件,寻找 DEFAULT CHARSET=latin1 字符串,替换为 DEFAULT CHARSET=utf8

保存之后,现在的 MySQL数据库,新建的数据库默认就是 utb8mb4_general_ci,就直接导入到数据库中就可以了。

MovableType 各个版本的近况

首先,MovableType 6 系列已经升级到最新的 6.3.2,新版本的情况,以及升级步骤,可以参考 此文

这里我想聊聊 MovableType 各个版本的情况,或者说是现状,近况。

最早的 MovableType 1 系列,我都没有赶上用过,其版本从 1.0,五个版本后停留在了1.4,那是 2002年的一月。

然后是 MovableType 2 系列,从2002年到2004年的一月,两年间,发布了从2.0版本到2.661 版本的共 15 个版本。

然后是 MovableType 3 系列,从2004年的五月到2008年年底,最后停留在了 3.38版本。我就是从 MovableType 3.11 开始使用 MovableType 的。那个年代是 Blog 兴起的年代,也是 MovableType的黄金年代。当然也包括下面的4.0系列。

MovableType 4 系列,从2007年八月最初的 4.0版,最后与2013年十二月发布了4.381版本。

MovableType 5 系列,在中间有过一次版本号的重新设定,原先只有两部分,后来变成了三部分,5.01开始,到5.18是最后一版,而5.2子系列是从 5.2.2 开始,最后是 5.2.13。

MovableType 6 系列,是从2013年十月发布 6.0 开始的,2015年四月的 6.0.8 是 6.0.X 的最后一版,6.1.X 的最后一版是2016年的六月发布的 6.1.3 版本。 6.3.x 子系列的也是到2016年的六月的6.2.6版本。目前最新的是 6.3.x 子系列的 6.3.2 版本。

MovableType升级到6.0

SixApart的新版MovableType 6.0和5.2.8都发布了,这里也按次先升级到5.2.8,然后再升级到6.0版。

下载6.0的安装文档,然后解压缩,接着覆盖原来的5.2.8版,在浏览器输入后台网址,可以看到下面的升级提示。
2013-10-21_115839.jpg

点击Begin Upgrade,之后会出现下面的升级过程。

升级到MovableType 5.1

前两天,6A就发布了最新的MovableType 5.1.

昨天晚上就做了升级,现在这里运行的就是最新的版本。

升级的过程没有什麽特别,覆盖更新就可以了。

只是这里要说一说新版本的新特性:

1) 可以用拖放的方式来管理目录和文件夹

2) 内容管理的界面也做了变化。

3) 多blog的标签

更多的内容可以看看这里

升级MovableType到4.31

本次更新只更新了源文件和数据库。
相关的发布通告在这里

接下来应该是期待MovableType 5.0了。

MovableType后台不显示Blog Stats的原因

我有一个以MovableType驱动的Blog,登录后台后有一个非常奇怪的地方,就是不显示Blog Stats。
Blog Stats就是显示在最近一个月,或者2、4个月,发表的文章,留言数目,标签和注册人数。以柱状图表示的。

很奇怪,其它几个Blog后台都有显示,唯独这个没有。

终于在这次更新到MovableType 4.3 之后,登录后台,有显示出错信息,之前是没有任何提示信息,就是没有,也不出错。显示的信息没有截屏,大意就是某几个文件夹没有写的权限。

顺利升级到MovableType 4.3

本次升级没有什么特别要做的地方。
还是下载文件,解压缩,复制覆盖原文件,然后就是登录,提示要升级,登入后就完成升级过程。

2009-07-29_213948.png

然后就是写这篇短文了。

完成,收工。

升级到MovableType4.26

升级没有什么特别的地方,因为是从4.25到4.26,没有添加新特性,主要是修复bugs,以及改进性能。

希望这次的改进可以让Blog的渲染速度提高,资源耗用减少。不要总是出现500内部错误就好。

Movabletype 4.25

如果只是Classic Blog的话,MovableType 4.25 同 4.24看上去一样。

但其实还是有差别的,至少在效率上好很多。
从其Release Notes上可以看到这些同效率有关的修改。

有较少的500错误,以及重建全部页面的时间也较短。

Blog网站搬家之续

昨晚,弄了几个小时,把本Blog,搬到了现在这个二级域名。
接着又把相册也独立了出来,入口还是在我的网站首页,https://www.yinfor.com

目前本Blog使用的是MovableType 4.25,全新安装,选择的是Classic Blog模板类型,然后,是从旧blog的地方通过MovableType 4.24的export功能导出,然后全部导入到新blog。
这个导出导入,倒还支持comments。

导入后的结果就是有不到十篇文章是乱码,连标题和目录都是乱码,后来还是根据其basename,找到原来正确的文章,手工贴过来的。

迁移,转换的过程,得到的一个便利就是把网址变短了。
原来: https://www.yinfor.com/freethinking/archives/2009/03/sample.html
现在: https://journal.yinfor.com/2009/03/sample.html
网址更为简洁了,我喜欢。
然后就是模板采用默认的模板,稍作修改。

关于作者
搜索
归档

Online Tools

Code Convertor