热搜词
发表于 2008-6-14 22:40:05 | 显示全部楼层 |阅读模式
 这几天正好做一个系统,本地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即可。
  现在导入试试看,是不是数据库里面的记录都是正确的啦!
全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-12-23 04:46 , Processed in 0.143882 second(s), 22 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team