mysql 已有数据字符集的修改
mysql 字符集的修改 可以使用set names utf8 通过修改配置文件 可修改参数 default_character_set=utf8
但是以上修改方法只对数据库中新增的记录生效,如果数据库中已经存在记录 又不想删除 那么可采用下面的方法:
1 现将数据结构导出
(1),mysqldump -uroot -p --default-character-set=gbk -d databasename >createtb.sql;
其中,--default-character-set 表示以什么字符集连接
-d 表示导出数据结构
(2) 手工修改createtb.sql 中表结构定义中的字符集为新的字符集
(3) 确保数据不再更新,导出所有的数据
mysqldump -urooot -p --quick --no-create-info --extended-insert --default-character-set=latin1 databasename>data.sql
-- quick 表示转储大的表,它强制mysqldump 一次一行的从服务器中检索表中的行,而不是检索所有行,并在输出前将它缓存到内存中。
--extended-insert :表示使用包括几个values 列表的insert 语法,这样转储文件更小,重载文件时可以加速插入
--no-create-info :不重写创建每个转储表的CREATE 语句
--default-character-set:按照原本的字符集导出所有的数据这样不会有乱码
(4) 打开data.sql 将set names latin1 改成 set names gbk // ‘你想转化的字符集’
(5) 使用新的字符集创建新的数据库create database databasename default character gbk;
(6) 执行createtb.sql 创建表
(7) 导入数据 执行 mysql -uroot -p databasename < data.sql
注意:选择目标字符集的时候要选择比源字符集 更大的字符集,否则会出现目标字符集没有的字符,从而出现乱码。
最新文章
- spring-boot-cli
- 蒟蒻修养之tc蓝名计划
- JVM学习笔记(四)------内存调优【转】
- 【C++专题】static_cast, dynamic_cast, const_cast探讨
- DataTable 基本转换简单实例
- Win10使用小技巧
- 转:更新Android SDK之后Eclipse提示ADT版本过低的一个简易解决办法
- Qt Quick编程(1)——QML的核心部分ECMAScript
- qt学习教程1.qt开发环境搭建
- DFS+打表
- 自制ZigBee协议分析仪
- ra_interface_lines_all 接口表各字段说明
- Intent里ACTION的CALL和DIAL的区别?
- 【比赛游记】FJOI2019瞎打记
- 《Redis入门指南(第2版)》读后感
- Prometheus监控学习笔记之360基于Prometheus的在线服务监控实践
- 一个无锁消息队列引发的血案(五)——RingQueue(中) 休眠的艺术
- android手机导入.cer证书文件的方法
- Hdu4952 - Number Transformation - 数论(2014 Multi-University Training Contest 8)
- 学好js,这些js函数概念一定要知道
热门文章
- Linux LVM硬盘管理之一:概念介绍
- List的Capacity
- 【SharePoint学习笔记】第1章 SharePoint Foundation开发基础
- Stream 和 byte[] 之间的转换
- 自动化运维:flask-bootstrap + highstock整合
- Squid代理服务器
- 【Telnet】使用Telnet协议连接到远程Shell执行脚本
- linux中service *** start与直接运行/usr/bin/***的区别
- git基本用法说明(原创+验证)
- SQL起别名