修复 MySQL 编码问题
浏览:966次 出处信息
有个疑似 OCD 患者最近抽风升级了一下 MySQL 数据库,然后发现 blog 里面全都变成了乱码。
那乱码的模式一看就是把 utf8 直接扔进了 latin1 的数据库,一看 SHOW CREATE TABLE mt_entry 发现果然如此。
略有些慌神,看了 MySQL 文档发现用 ALTER TABLE 的 CONVERT TO 硬来有点不太行好,遂想到可以试试看 mysqldump,于是做了:
当作 latin1(不然会再按 utf8 编码一次):
mysqldump mt_delphij --default-character-set=latin1 -r utf8.dump
把里面的 CHARSET=latin1 替换为 CHARSET=utf8:
sed -e s,CHARSET=latin1,CHARSET=utf8,g < utf8.dump > utf8.dump.edited
删掉其中的 SET NAMES latin1。
然后重新导入:
mysql -uroot -p --default-character-set=utf8 mt_delphijmysql> SET names utf8;mysql> SOURCE utf8.dump.edited;
还好没用到 zfs rollback。
建议继续学习:
- 字符编码和中文乱码小叙 (阅读:5828)
- 中文编码杂谈 (阅读:5081)
- Hadoop的map/reduce作业输入非UTF-8编码数据的处理原理 (阅读:4753)
- PHP编码规范 (阅读:4491)
- base64_encode 和 urlencode (阅读:4200)
- UTF-8编码中BOM的检测与删除 (阅读:4166)
- Linux screen窗口中文乱码问题 (阅读:4094)
- Unicode与字符汉字相互转换 (阅读:4082)
- python-django的中文编码总结 (阅读:3920)
- JAVASCRIPT完美实现UTF8页面提交数据到GB2312 (阅读:3709)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
后一篇:Python连接 MySQL 数据库的超时问题 >>
文章信息
- 作者:Xin LI 来源: delphij's Chaos
- 标签: 编码
- 发布时间:2021-05-17 23:26:41
建议继续学习
近3天十大热文
-
[84] memory prefetch浅析
-
[56] 基本排序算法的PHP实现
-
[51] 深入浅出cassandra 4 数据一致性问
-
[43] 转载:cassandra读写性能原理分析
-
[40] javascript插入样式
-
[40] MySQL半同步存在的问题
-
[38] 字符引用和空白字符
-
[38] JS中如何判断字符串类型的数字
-
[37] Inline Form Labels
-
[36] 获取Dom元素的X/Y坐标