MySQL字符集LATIN1转UTF8

凉白开 MySQLMySQL字符集LATIN1转UTF8已关闭评论22,6703字数 687阅读2分17秒阅读模式

导出表结构

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/
weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
凉白开
  • 本文由 发表于 13/02/2011 20:19:14
  • 转载请务必保留本文链接:https://www.ttlsa.com/mysql/mysql-latin1-to-utf8/
  • default-character-set
  • ENGINE
  • LATIN1
  • MyISAM
  • mysql
  • mysqldump
  • notepad++
  • UTF8
  • 字符集