MySQL字符集LATIN1转UTF8

导出表结构

mysqldump -uroot -p --default-character-set=utf8 -d databasename > db.sql
修改db.sql内的字符集设置(notepad++编辑)
ENGINE=MyISAM DEFAULT CHARSET=latin1;
修改为
ENGINE=MyISAM DEFAULT CHARSET=utf8;
导出数据
mysqldump -uroot -p --quick --no-create-info --extended-insert --default-character-set=latin1 databasename >data.sql
修改data.sql
set names latin1;
改为
set names utf8;//使得客户端和链接使用utf8格式,使得数据以utf8的形式存储

创建数据库

create database databasename default charset utf8;

导入表结构

mysql -uroot -p databasename < db.sql

导入表数据

mysql -uroot -p databasename < data.sql

备注:原理流程
1、导出表结构,把latin1结构替换成utf8
2、用原有的latin1导出数据,并且将set names替换成utf8格式
3、创建数据库,默认字符集改成utf8
4、导入表结构、数据

mysql数据库导入与导出

既不借助myphpadmin,也不借助mysqlworkbench的情况下,单凭mysql命令行导入导出数据库。

MySQL数据库导入: mysql -u 用户名 -p 数据库名 < 文件名

注意:导入的数据库名需要已经存在。如果数据库用户名有密码密码,执行后会提示输入密码。如果数据库用户名没有密码,就将命令中的“-p”参数删除。

MySQL数据库导出:mysqldump -u 用户名 -p 数据库名 > 文件名