背景:某个系统的mysql数据库dnname采用默认的latin1字符集,系统升级需要将所有数据转换成utf-8格式,目标数据库为newdbname(建库时使用utf8)

方法一:

步骤一 命令行执行:mysqldump --opt -hlocalhost -uroot -p*** --default-character-set=lantin1 dbname > /usr/local/dbname.sql

步骤二 将 dbname.sql文件中的create table语句的CHARSET=latin1改为CHARSET=utf8

步骤三 在dbname.sql文件中的insert语句之前加一条'set names utf8;'

步骤四 将dbname.sql转码为utf-8格式,建议使用UltraEditor,可以直接使用该编辑器的'转换->ASCII到UTF-8(Unicode编辑)',或者将文件另存为UTF-8(无BOM)格式

步骤五 命令行执行:mysql -hlocalhost -uroot -p*** --default-character-set=utf8 new_dbname < /usr/local/dbname.sql

总结:这种方法有个致命之处就是当数据中有大量中文字符和其他特殊符号字符时,很有可能导致在[步骤五]时报错导致无法正常导入数据,如果数据库比较大可以分别对每张表执行上述步骤

方法二(推荐大家使用):

为了解决第一种方法中总结时说到的问题,在网上苦苦查找了一天资料才东拼西凑的搞出一个比较稳妥的解决方法

步骤一 将待导出的数据表的表结构导出(可以用Phpmyadmin、mysqldump等,很简单就不说了),然后将导出的create table语句的CHARSET=latin1改为CHARSET=utf8,在目标库newdbname中执行该create table语句把表结构建好,接下来开始导出-导入数据

步骤二 命令行:进入mysql命令行下,mysql -hlocalhost -uroot -p*** dbname

步骤三 执行SQL select * from tbname into outfile '/usr/local/tbname.sql';

步骤四 将tbname.sql转码为utf-8格式,建议使用UltraEditor,可以直接使用该编辑器的'转换->ASCII到UTF-8(Unicode编辑)',或者将文件另存为UTF-8(无BOM)格式

步骤五 在mysql命令行下执行语句 set character_set_database=utf8;  注:设置mysql的环境变量,这样mysql在下一步读取sql文件时将以utf8的形式去解释该文件内容

步骤六 在mysql命令行下执行语句 load data infile 'tbname.sql' into table newdbname.tbname;

注意:千万不要忘了第四步

采用第二种方法,所有数据均正常导入,且格式转换成功没有乱码

转载于:https://www.cnblogs.com/feihusurfer/archive/2011/04/16/2017747.html

转:两种转换mysql数据编码的方法-latin1转utf8相关推荐

  1. 怎么转换CAD文件的版本?分享两种转换版本的方法

    CAD文件的版本怎么转换呢?大家如果有使用CAD编辑软件的小伙伴肯定遇到过CAD文件打不开的现象,出现这种情况如果排除了文件自身收到损坏之外,那么大概率就是CAD文件的版本问题了,遇到低版本或高版本的 ...

  2. JPG格式图片怎么弄?分享两种转换图片格式方法

    将图片格式转换成JPG格式应该怎么弄呢?大家在日常中经常会使用图片,有很多的图片格式是我们使用不到的,碰到个别的图片格式我们可能还会打不开.遇到这种情况时,我们可以把图片的格式转换成我们最常使用的JP ...

  3. android内存池,两种常见的内存管理方法:堆和内存池

    描述 本文导读 在程序运行过程中,可能产生一些数据,例如,串口接收的数据,ADC采集的数据.若需将数据存储在内存中,以便进一步运算.处理,则应为其分配合适的内存空间,数据处理完毕后,再释放相应的内存空 ...

  4. PDF转图片怎么转?分享两种转换小技巧

    如何将PDF文件内容转换成图片呢?PDF文件在办公过程中十分常见,很多时候我们为了能更加方便的使用文件中的内容,会需要把PDF转换成图片来保存使用,因为图片格式的文件更加容易阅读和携带.很多小伙伴不知 ...

  5. 怎么把PDF转换成CAD文件呢?分享两种转换小技巧

    PDF文件怎么把它转换成CAD文件呢?做CAD设计的小伙伴是不是经常会收到甲方发来的PDF格式的CAD文件?他们会觉得PDF格式好发送,容易打开,但我们作为专业编辑.绘制CAD图纸人员,是要对文件进行 ...

  6. 分分钟实现梦想 —— 两种快速打造App的方法

    分分钟实现梦想 -- 两种快速打造App的方法 几年前,做App还是土豪和移动开发者的专利.移动开发者使用Java或者C++这类开发工具,将一行行代码变成可以被手指轻松触控的应用.土豪们花钱雇佣这些移 ...

  7. mysql数据库加密设备_一种基于MySQL数据库加密方法与流程

    本发明涉及数据库加密技术技术领域,具体的讲涉及一种基于MySQL数据库加密方法. 背景技术: 聚通达DBSecurity是一款基于透明加密技术的数据防泄漏产品,该产品能够实现对数据库中的敏感数据加密存 ...

  8. DWG文件版本如何转换?这两种转换小技巧了解一下

    想要转换DWG文件的版本,该如何转换呢?了解CAD文件或者是从事于CAD相关行业的小伙伴都清楚,DWG文件其实就是CAD文件的格式之一,这种格式是我们比较常用的一种格式.有时遇到文件的版本不一会出现文 ...

  9. 两种常见的内存管理方法:堆和内存池

    在程序运行过程中,可能产生一些数据,例如,串口接收的数据,ADC采集的数据.若需将数据存储在内存中,以便进一步运算.处理,则应为其分配合适的内存空间,数据处理完毕后,再释放相应的内存空间.为了便于内存 ...

最新文章

  1. 和12岁小同志搞创客开发:手撕代码,做一款遥控灯
  2. 单片机modebus RTU通信实现,采用C语言,可适用于单片机,VC,安卓等(转)
  3. AndroidStudio_ListView
  4. Python3中的68个内置函数总结
  5. Java后台返回和处理JSon数据的方法
  6. 深究AngularJS——ui-router详解
  7. 基台和种植体如何连接_成年人门牙因某些原因导致缺失该怎么办?如何修复缺失的门牙?...
  8. [deviceone开发]-毛玻璃效果示例
  9. php 注入是什么意思,如何理解ThinkPHP框架里的依赖注入?
  10. Linux内存管理:一个故事看懂CPU内存管理技术
  11. VMware 大中华区原厂认证讲师(大陆地区)2019-8-19 更新
  12. 谷歌Gmail诞生记:十年回首
  13. 修改命令有趣的Linux命令
  14. Linux平台代码覆盖率测试工具GCOV简介
  15. Binwalk--多重文件查看利器
  16. 2021-07-03图标,选择框
  17. notepadpython插件_Notepad Python
  18. 后缀表达式转前缀表达式
  19. 为什么计算机无法访问u盘,打开U盘后为什么提示拒绝访问 打开U盘后提示拒绝访问原因...
  20. 如何恢复扩展属性为u的linux文件,chattr - 修改文件在Linux第二扩展文件系统(E2fs)上的特有属性...

热门文章

  1. ThinkPad紧凑型蓝牙键盘(0B47189)鼠标滚轮用法,F1到F12功能键的功能切换以及其他技巧
  2. 机器学习实战-第二章代码+注释-KNN
  3. redis入门demo
  4. OpenStack概念架构简述
  5. 全世界还有44亿人无法上网
  6. bootstrap --- 在 modal中的 datetimepicker 关闭 ,会造成 modal也会被关闭.
  7. Java小程序2(2015-8-2)
  8. 文件目录遍历的并发算法
  9. pandas中inplace_pandas中inplace参数
  10. python中最大值最小值平均值_来自lis的Python平均值、最大值、最小值