今天上午,抽时间将本Blog数据库编码更换到了utf-8,终于告别了mysql数据库乱码问题,现在,不管是用什么方式备份,得到的数据都不再是令人头疼的乱码了:)
完成这次转换的大功臣是drupal的一个非常强大的module:dba.module(database administration),以前,因为我有phpmyadmin,所以从来没有用过这个module,这一次为了转换编码,所以装上试了一下,发现 通过dba模块备份的数据果然没有乱码,于是,前几天的问题得到了解决,我的编码转换大计得以实施。
下面,我就介绍一下我的转换过程以及注意事项(实施环境:mysql 4.1.x,phpmyadmin 2.6.x):
1、首先,也是最重要的,就是对原始数据库的备份,因为转换过程很可能出问题,所以,首先要将原始数据库完完整整的备份一份。
2、利用phpmyadmin将数据库的结构备份出来,注意备份的时候“添加 AUTO_INCREMENT 值”这个选项要取消。利用编辑器打开备份文件,将“DEFAULT CHARSET=latin1”删除。
3、利用dba.module的备份功能将除了aggregator_item、aggregator_category_item、cache、 history、locales_source、locales_target、menu、search_index、search_total、 sessions、watchdog以外的所有表,如果你的数据量比较大,可以分多次备份,使得每个文件的大小在1M以内。
4、新建一个数据库,将默认编码设置为utf-8。
5、将前面备份的数据库结构导入新建的数据库中。
6、将表数据导入到新数据库中。
7、将drupal的设置文件中的数据库设置改为新的数据库。并按照前两天的文章里提到的办法修改database.mysql.inc文件。
8、重新利用drupal的local功能汉化。
然后一切都ok了。
2 条评论了已经
发表评论
字体为 粗体 是必填项目,邮箱地址 永远不会 公布。
允许部分 HTML 代码:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
URIs must be fully qualified (eg: http://shunz.net/) and all tags must be properly closed.
超出部分系统将会自动分段及换行。
请保证评论内容是与日志或 Blog 内容相关的,灌水、攻击性或不恰当的评论 may 会被编辑或删除。













mysql4.0.2
php5.0
为什么通过phpmyadmin2.6.0查看数据库里面完全没有乱码
而通过php从数据库输出时却出现乱码呢?
看到有关数据库的问题就头疼,