mysql4数据导入mysql5乱码问题解决办法

mysql数据库乱码问题在4.0之前的版本中是不存在的,都默认为latin1。

自从有了mysql5,mysql的乱码问题就成了mysql最让人头疼的问题之一。

这几天和mysql数据库的乱码问题较上劲了,天天晚上不辞辛劳的反复尝试。

数据库导入导出乱码往往是因为编码格式不对应造成的,常见会在以下编码格式之间出现问题:gbk、gb2312、ut8、latin1、big5。

乱码又分为可修复乱码和不可修复乱码:

如果乱码的字符看起来是一些非常怪异的非正常字符样式的符号,这种情况下php读出的字符也是同样的乱码一堆。数据需要充值才可以,通过mysql本身的工具是没有办法使其恢复正常的。

另外一种就是看起来像常规字符,又不是常规字符的乱码,这种情况下的mysql数据乱码php一般可以正常读出。就是说,它只是防碍我们在数据库中阅读,并不妨碍网页显示结果。

phpmyadmin是一个靠不住的mysql管理工具,首先不说其对导入数据库2M的大小限制,单就说其在导出数据库时的独特配置方式,就够你折腾很久的。但由于一般的虚拟主机代理商提供的数据库管理工具都是它,所以大家还是需要掌握它的操作技巧,以免事倍功半。

从mysql4.0的数据库到mysql5的数据库迁移,我最终使用了这样的办法:

首先,phpmyadmin链接校对编码格式必须要和源数据库的编码格式一致。源数据库导出的时候,选中所有表(切忌不能选中整个数据库)来备份。

然后使用文本编辑器查看导出的sql文件,如果其中没有乱码,说明我们已经顺利通过第一步,数据库导出正常了。

接着我们再新建一个和当前数据库编码格式相同的数据库,使用phpmyadmin导入程序或者sql语句形式,进行恢复。

一切ok。