导出表结构
mysqldump -uroot -p --default-character-set=utf8 -d databasename > db.sql
修改db.sql内的字符集设置(notepad++编辑)文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-latin1-to-utf8/
ENGINE=MyISAM DEFAULT CHARSET=latin1; 修改为 ENGINE=MyISAM DEFAULT CHARSET=utf8;
导出数据文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-latin1-to-utf8/
mysqldump.exe -uroot -p --quick --no-create-info --extended-insert --default-character-set=latin1 databasename >data.sql
//--default-character-set=latin1,使得导出的数据时中文,而不是乱码,当初改成utf8的做法是错误文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-latin1-to-utf8/
修改data.sql文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-latin1-to-utf8/
set names latin1; 改为 set names utf8;//使得客户端和链接使用utf8格式,使得数据以utf8的形式存储
创建数据库文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-latin1-to-utf8/
create database databasename default charset utf8;
导入表结构文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-latin1-to-utf8/
mysql -uroot -p databasename < db.sql
导入表数据文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-latin1-to-utf8/
mysql -uroot -p databasename < data.sql
备注:原理流程
1、导出表结构,把latin1结构替换成utf8
2、用原有的latin1导出数据,并且将set names替换成utf8格式
3、创建数据库,默认字符集改成utf8
4、导入表结构、数据文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-latin1-to-utf8/
转载请注明出处: https://www.ttlsa.com/html/79.html文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-latin1-to-utf8/
文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-latin1-to-utf8/文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-latin1-to-utf8/
评论