MySQL 数据库编码

MySQL支持许多编码方式,可是在实际使用中,同MT结合起来还是会碰到许多问题。 对于MySQL的字符集支持有许多的文章介绍,在此不做深究。 我做了一系列的测试,对于用不同编码方式的数据库,同MT配合起来研究。 测试所用到的软件如下: MySQL 4.1.16-nt phpMyAdmin 2.7.0-pl2 Movable Type 3.2 MySQL Administrator 1.1.7 环境设置: MySQL 安装用默认设置,default-character-set 是 latin1 Movable Tyep 设置UTF8 测试方法: 先新建一个database,如blog,在PHPMyAdmin中手工指定collation,之后,用MT installation,所建立的表的collation同上。 导入entries,用之前准备的含有中英文数据的备份文件,该备份文件是用MT的entries export功能导出的,他的导出功能只有包含blog内容,没有设定和模板等东西,原则上看到什么,导出的就是什么,它不做转换。 导入之后的可以从MT的管理界面看到,中文显示正常,再用phpmyadmin看,则结果如下。

MySQL
Database

MT后台
中文内容显示
PHPMyAdmin
数据库 表浏览
中文数据显示
charset collation    
UTF8 utf8_general_ci 正常 乱码
LATIN1 Latin1_swedish_ci 正常 乱码
BINARY binary 正常 正常
最后提一下,纯英文的似乎用哪种编码都不会有问题。 还有一点,察看了MovableType的官方文档 Non-ASCII characters are encoded incorrectly under MySQL 4.1x 由此可知,全部用utf编码,在phpmyadmin还都会看到乱码的原因了。