原文地址:http://blog.ligj.eol.cn/435

作者:刀哥

MySQL GBK转utf8

技术学习/mysql数据库 2007/03/30 14:13

导出: mysqldump -p my_database > my_database.sql

转码: iconv -t utf-8 -f gb2312 -c my_database.sql > new.sql

修改new.sql,增加一条sql语句 "SET NAMES utf8;"

导入: mysql -h localhost -u root -p my_database < new.sql

或者 cat new.sql | /usr/bin/mysql -uroot -ppasswd databasename

####### latin1 to utf8
iconv -f latin1 -t utf8 /path/data_latin1.sql -o /path/data_utf8.sql
vi  /path/data_utf8.sql
增加一条sql语句 "SET NAMES gbk;"
mysql -uroot -ppasswd
source /path/data_utf8.sql

以原来的字符集为latin1为例,升级成为utf8的字符集。原来的表: old_table (default charset=latin1),新表:new_table(default charset=utf-8 )。
第一步:导出旧数据
mysqldump –default-character-set=latin1 -hlocalhost -uroot -B my_db –tables old_table > old.sql
第二步:转换编码
iconv -t utf-8 -f gb2312 -c old.sql > new.sql
在这里,假定原来的数据默认是gb2312编码。
第三步:导入
修改old.sql,增加一条sql语句: "SET NAMES utf8;",保存。
mysql -hlocalhost -uroot my_db < new.sql
大功告成!!