4

修复 MySQL 编码问题

 3 years ago
source link: https://blogread.cn/it/article/8329?f=nr
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

修复 MySQL 编码问题

浏览:4次  出处信息

   有个疑似 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。

觉得文章有用?立即:

和朋友一起 共学习 共进步!

建议继续学习:

QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK