按照下面做法,终于成功了!庆祝,纪念......

背景:某个系统的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语句把表结构建好,接下来开始导出-导入数据。命令:

./mysqldump-d DB_Dig>/usr/local/tmp/tables.sql

步骤二 命令行:进入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;

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

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

参考:http://blog.csdn.net/guoguo1980/archive/2008/01/28/2070701.aspx

--------------------

WE准高手

posted on 2008-06-11 16:54 大卫 阅读(8851) 评论(8)  编辑  收藏 所属分类: 数据库

mysql编码转换工具_mysql编码转换搞定相关推荐

  1. 网页兼容性测试软件,12款超棒的浏览器兼容性测试工具让你轻松搞定Bug

    原标题:12款超棒的浏览器兼容性测试工具让你轻松搞定Bug Spoon Browser Sandbox 点击你需要测试的浏览器环境,安装插件就可以进行测试了.帮助你测试网页在Safari.Chrome ...

  2. mysql编码转换工具_MySQL GBK→UTF-8编码转换

    MySQL GBK→UTF-8编码转换 2021-01-23 11:20:21483 前言: 第一次写教程,其实算不得教程,只是想总结个转换的手记.如果中间有错误,或者办法不够理想,大家回贴研究下. ...

  3. mysql时间和时间戳转换工具_时间戳转换工具

    时间戳转换工具支持的时间格式 2021-02-03 2021年2月03日 2021-02-03 09:18:17 2021年2月03日 09:18:17 2021年2月03日 09点18分17秒 只输 ...

  4. ANSI、GBK、Unicode等等iconv转换详解一文搞定

    本文首发于公众号"嵌入式软件实战派",关注后获得更多精品干货. > 网页上的编码 也许你会问,自从有了互联网,全世界都近在咫尺,那么网页上的编码时什么,是怎么做到不同语言文字 ...

  5. 【工具】音乐播放相关工具,音乐文件格式转换工具,MP3文件转换成arduino可以直接播放的wav格式,MP3转WAV工具...

    微信关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 最近玩播放音乐又用到了audio.online-convert这个音乐转换工具,好用, ...

  6. 将一个datetime的now转换为只有日期的_不要眨眼!中英文、大小写转换,一秒就搞定!

    私信回复关键词[福利],获取丰富办公资源~ 助你高效办公早下班! 大家好,我是秋小 E~这里是秋叶 Excel 的[问答精华]专栏! 问题主要来自秋叶 Excel 学习班的同学,回答由讲师.助教共同完 ...

  7. android mp3 wav转换工具,音频提取转换工具app

    音频提取转换工具app是一款简单实用的安卓音频提取软件,支持专业音频处理,一键搞定,提供视频中提取音频,音频一键转换格式,剪辑音频内容,调整,合并等,功能齐全,免费使用,需要的可以下载音频提取转换工具 ...

  8. 时间戳转换工具java_时间戳转换_时间戳转换工具_时间戳转换成时间日期_55查询...

    时间戳转换工具支持的时间格式 2021-03-02 2021年03月02日 2021-03-02 07:29:08 2021年03月02日 07:29:08 2021年03月02日 07点29分08秒 ...

  9. mysql 存储过程加密工具_MySQL存储过程调试工具-dbForge Studio for MySQL

    对于某些存储过程很多且复杂的SQL的应用,在短时间内要使得所有MySQL存储过程和函数正常运行,那么如果能找到一个比较好的调试工具,就可以事半功倍, 这里介绍的是dbForge Studio for ...

最新文章

  1. 模型的跨界:我拿Transformer去做目标检测,结果发现效果不错
  2. 好的视频编解码网址和博文地址
  3. 深度学习方法笔记之(一):SVM的基本模型
  4. Linux 系统时间和硬件时间
  5. php读取js验证码,js实现获取短信验证码实例
  6. php 头bom_关于php中bom头的简介
  7. 河中跳房子(noiopenjudge,noip2015)
  8. 每日算法系列【LeetCode 124】二叉树中的最大路径和
  9. 19.UNIX 环境高级编程--伪终端
  10. python gephi可视化 金庸人物关系图
  11. 【精讲】软件工程用图的各个阶段及其应用(详细)系统流程图、数据流图、数据字典、ER图、状态转换图、层次方框图、Warnier图、IPO图、层次图、HIPO图、结构图、程序流程图、盒图等
  12. numpy - 数组随机排序
  13. ALSA架构应用程序aplay及amixer调用关系(应用层到内核驱动)
  14. TCP序列号(Sequence Number)和确认号(Acknowledgment Number)
  15. 使用Dos清除系统临时文件
  16. BZOJ1412: [ZJOI2009]狼和羊的故事
  17. RTL8211F 硬件配置
  18. canvas实现图片缩放+涂鸦
  19. spring结合时,web.xml的配置
  20. java运行速度慢的原因_java运行速度慢的原因 | 学步园

热门文章

  1. 如何破解“中国开源拿来主义”?包云岗的几点分析
  2. 深度揭秘:腾讯存储技术发展史
  3. Docker 概念很难理解?一文搞定 Docker 端口绑定
  4. 震惊!微软小冰公众号被封?示好国内,苹果拟推出特色版iPhone;谷歌更新Google Play支持名单:华为荣耀多款在列……...
  5. 西门子和阿里云要搞啥事情?| 极客头条
  6. matlab中instr,MATLAB 串口通信
  7. 关于JDK8采坑JCE加密限制版本问题
  8. 一分钟搭建、运行、测试SSM项目
  9. Failure to find com.oracle:ojdbc6:jar:11.2.0.1.0
  10. HTTP中GET与POST方法有什么区别