导出: 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

posted on 2012-04-06 18:20  haoxx  阅读(1798)  评论(0编辑  收藏  举报