Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2824951
  • 博文数量: 587
  • 博客积分: 6356
  • 博客等级: 准将
  • 技术积分: 6410
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-23 10:54
个人简介

器量大者,福泽必厚

文章分类

全部博文(587)

文章存档

2019年(3)

2018年(1)

2017年(29)

2016年(39)

2015年(66)

2014年(117)

2013年(136)

2012年(58)

2011年(34)

2010年(50)

2009年(38)

2008年(16)

分类: LINUX

2017-06-26 09:58:10

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'password' --quick --no-create-info --extended-insert --default-character-set=latin1 databasename >data.sql  //--default-character-set=latin1,使得导出的数据时中文,而不是乱码,当初改成utf8的做法是错误


修改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、导入表结构、数据
阅读(790) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~