MySQLGBKUTF-8 编码转换

前言:

第一次写教程, 其实算不得教程, 只是想总结个转换的手记如果中间有错误, 或者办法不够理想, 大家回贴研究下

另外, 我也希望我们论坛不仅仅作为闲聊的地方, 也希望大家能活跃我们论坛的学习气氛, 毕竟我们都来自一个应该给我们知识的地方, 不论你从那里获得了多少你需要的知识

好了, 言归正传

一准备:

环境: MySQL4.1.x 及以上版本

Convertz 文本编码转换工具, molyx 上介绍的, 我采用的其实这类工具很多

二理论:

MySQL 从 4.1 版本开始内部存储字符集支持了 UTF-8, 这个我也是这几天才看到的因为升级论坛过程中, 服务器数据库环境为 4.0.26 当时不知道并不支持 utf-8 字符集, 还废了些周折这样如果涉及到 UTF-8 转储还要升级 MySQL 版本到 4.1 以上

转换的大概思路是备份 (有备无缓) 修复数据库 mysqldump 导出 Convertz 转换编码修改转换后文件 mysqldump 导入恢复

三实践:

1 备份这个不需要太多说了你可以采用任何一种常规的备份方式只要你自己恢复的了

2 修复 mysqlcheck -r -u user -p 如果全 OK 那就 OK 了, 如果不全 OK, 再来遍还没全 OK, 不知道怎么弄了

3 导出由于 latin1 为默认存储, 所以你需要事先确定你数据库的编码格式举例, lncz.net 原为 gbk 编码, 但存储为 latin1, 这样导出时应该指定编码为 latin1, 导出后才能以 ANSI 形式正确显示 gbk 的文字

导出命令: mysqldump database_name field> path --default-character-set=latin1 -u user -p

数据库大需要分段, 不然接下来的操作会很麻烦我是单独把每个表导出来的当时想法比较简单, 因为数据库有坏表, 只想在恢复的时候知道哪个表出错单独修复

4 转换 Convertz 用这个软件很简单, 不必多说了

5 修改我在尝试直接导入恢复数据库时, 失败了 N 次, 每次都乱码仔细想过之后才明白, 如果你直接导回去, 数据库还是用默认的 latin1 去存储, 而你的现在的编码是 utf-8 所以它会再进行一次转换便出错了这里 MySQL 到底怎么处理的我还不是十分清楚, 谁知道麻烦相告这时我们需要对转换好的文件加入语句 set names utf8; 注意不是 utf-8; 并且需要将文件中 CHARSET=latin1; 改为 CHARSET=utf8; 来指定表的存储编码

6 恢复恢复过程按道理应该是很简单的, 都是 mysqldump 处理需要注意一点就是如果你的数据库大, 要做全局变量的修改 max_allowed_packet 默认为 1M, 看你数据库表的大小, 相应修改 my.ini 文件

导入命令: mysqldump database_name < path -u user -p 导入顺利的话你的数据库编码就已经转换为 utf-8 了

在下比较菜, 如果有错误请指正, 表笑我以上仅供参考

来源: https://www.php1.cn/detail/php-5d45cca592.html

mysql gbk编码 转utf8_MySQLGBKUTF-8 编码转换相关推荐

  1. mysql gbk编码 转utf8_MySQL GBK→UTF-8编码转换

    前言: 第一次写教程,其实算不得教程,只是想总结个转换的手记.如果中间有错误,或者办法不够理想,大家回贴研究下. 另外,我也希望我们论坛不仅仅作为闲聊的地方,也希望大家能活跃我们论坛的学习气氛,毕竟我 ...

  2. mysql gbk编码 字节数_MySql中UTF8和GBK编码中文字符长度问题

    2.设计函数,输入为一个字符串,里边包含中文.英文.数字等字符,编码为GBK.中文字符的编码规则假定为:双字节组成,高字节大于0x80,低字节任意.     a) 用常用语言(c/c++/php/ja ...

  3. 解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)——ubuntu环境设置默认是utf-8,文件编码可使用Encodersoft批量转换

    解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK)--ubuntu环境设置默认是utf-8,文件编码可使用Encodersoft批量转换 参考文章: (1)解决Qt中文乱码以及汉字编码的问题(U ...

  4. 下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换

    下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换: byte[] src,dst; dst=String.fromBytes(src,"GBK").getB ...

  5. mysql gbk编码不全_一次MySQL GBK编码的故障分析

    一次MySQL GBK编码的故障分析 最近有用户遇到MySQL GBK字符集的一个坑,我也是第一次遇到,网上也没看此类case,所以整理了故障分析报告分享给大家,供参考. 故障描述 用户描述说:在使用 ...

  6. 格式化输出,运算符,编码,字符串(索引,切片,大小写转换等等)

    格式化输出%s和format{} , 运算符 , 编码 , 字符串(索引,切片,大小写转换,拉长字符,去空格,替换,切割,格式化输出format , count数数 , find查找 , index求 ...

  7. python中字符编码使用_python中字符编码是什么?如何转换字符?

    屏幕前我们看到的文字,在计算机中也是这样表示吗?事实上,我们所有的信息电脑是无法直接理解的,同样我们所要表达的信息,计算机也不能看懂.这就需要架起一个理解的桥梁,也就是编码帮助我们相互之间进行翻译.今 ...

  8. 一网打尽中文编码转换---6种编码30个方向的转换

    一网打尽中文编码转换--6种编码30个方向的转换 1.问题提出 在学编程序时,曾经有人问过"你可以编一个记事本程序吗?"当时很不屑一顾,但是随着学习MFC的深入,了解到记事本程序也 ...

  9. java中unicode显示乱码_Java 已知Java系统编码是GBK,jtextarea从一编码为Unicode的文本中读取数据,出现乱码,怎么正常显示?...

    Java 已知Java系统编码是GBK,jtextarea从一编码为Unicode的文本中读取数据,出现乱码,怎么正常显示? 关注:159  答案:2  mip版 解决时间 2021-02-03 12 ...

  10. 字符串编码(ASCII, GBK, ANSI, Unicode(‘\u‘), UTF-8编码)

    字符串编码的发展 1.首先,计算机只能处理数字,文本转换为数字才能处理.计算机中8个bit作为一个字节,所以一个字节能表示最大的数字就是255 因为计算机是美国人发明的,所以一个字节可以表示所有字符了 ...

最新文章

  1. archlinux安装chrome-webdriver
  2. python opencv打开摄像头
  3. 【pytorch】nn.LSTM的使用
  4. windows cmd执行git log命令中文显示乱码
  5. 辟谣|bitcoin core0.16.1版本没有删除区块大小限制——带你认识区块大小限制参数...
  6. 厉害|高通正利用“AI Engine”加速AI从云端走向终端应用和落地!
  7. STM32工作笔记0055---认识pcbdoc文件Schdoc文件
  8. 进入传奇荣耀显示服务器不存在,传奇荣耀————【合区】5月10日合区公告
  9. 王叁寿,令人佩服,激励一下自己
  10. 详细讲一下delphi里的 IF 语句
  11. token验证失败 java_“Token校验失败,请检查确认”解决方法
  12. python三角函数公式计算_使用Python三角函数公式计算三角形的夹角案例
  13. Windows配置环境变量
  14. 阿里直播在线人数只统计rtmp格式的播放源
  15. uniapp 微信小程序 控制台警告和错误处理
  16. 提供推荐--集体智慧编程
  17. idea框选为矩形解决方案
  18. 【数据库原理与SQL Server应用】Part13——数据库设计
  19. 植物大战僵尸java版_植物大战僵尸:M8版 JAVA版下载
  20. Modbus_master/slave_TCP/RTU

热门文章

  1. python语言中浮点数_举例说明python如何生成一系列浮点数
  2. 女博士毕业后遭妈妈吐槽“只学习不社交”,引起热议后质疑声扑面而来
  3. 计算机底层知识——二进制之间的加减乘除运算
  4. 操作系统:虚拟存储器 练习题(带有答案和解析)
  5. Oracle创建同义词及dblink
  6. Oracle创建同义词并授权
  7. Listary中使用Everything搜索
  8. linux中备份mysql数据库
  9. 快速重新安装打印管理器
  10. Extjs 4.0 textarea 滚动条自动到最低