可爱熊个人博客

mysql4.0到mysql5.0的数据导入出现乱码的解决方案

最近做mysql4.0到mysql5.0的数据转化工作,发现乱码无数,观博客无数心得如下:

*mysql中文亂碼的原因

mysql 會出現中文亂碼的原因不外乎下列幾點:

-mysql server本身設定問題,例如還停留在 latin1

-mysql table 的語系設定問題(包含 character 與 collation)

-客戶端程式(例如 php) 的連線語系設定問題

这是由于 mysql5.0默认是lantin瑞典语系,因此在mysql4.0导出的sql文件里面需要加入DEFAULT CHARSET=utf8 collate utf8_unicode_ci

例如:

CREATE TABLE IF NOT EXISTS `user_right` (
  `user_right_id` int(11) NOT NULL auto_increment,
  `user_id` varchar(11) default NULL,
  `right_id` varchar(11) default NULL,
  PRIMARY KEY  (`user_right_id`)
) TYPE=MyISAM DEFAULT CHARSET=utf8 collate utf8_unicode_ci AUTO_INCREMENT=11 ;

然后在php连接数据库最初执行”SET NAMES ‘utf8′”;

问题解决!以上针对utf8编码的数据库,毕竟是趋势嘛,其它编码有待稍空的时候研究

Tags: , , ,

留下回复

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)