灰儿 发表于 2008-6-14 22:40:05

Mysql 5.0 数据导入Mysql 4.1 数据库解决方法

 这几天正好做一个系统,本地Mysql版本是5.0.19的,而服务器上面的却是Mysql 4.1.12的,刚开始就直接从本地把数据库文件导入到服务器,可以想像,服务器数据库里都是乱码,在网上也没有找到很好的解决办法,因为从高版本的数据库导入低版本比较麻烦,而且mysq4.1以上也开始有什么连接校对字符集啊什么之类的,因此就会出现字符集的转换!
  
   后来发现在Mysql4.1创建表的语句是没有Mysql5.0创建表的语句中有默认设置编码格式,比如
  
  CREATE TABLE `user` (
   `userid` int(10) unsigned NOT NULL auto_increment,
   `user_no` int(10) NOT NULL default '0',
   `login_name` varchar(32) character set gb2312 NOT NULL,
   `password` varchar(32) character set gb2312 NOT NULL,
   PRIMARY KEY (`userid`)
  ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ;
  
  知道这个,
  首先Mysql5导出的.sql文件里面设置编码格式的说明去掉,
  然后用editplus保存为"ANSI"格式的文件,这点非常重要,如果为UTF-8的仍会有乱码,
  最后Mysql4.1编码格式为默认的Lantin1即可。
  现在导入试试看,是不是数据库里面的记录都是正确的啦!
页: [1]
查看完整版本: Mysql 5.0 数据导入Mysql 4.1 数据库解决方法