MySQL Dump 乱码如何解决?
MySQL 数据库的数据迁移(data migration),常见的做法是先使用 mysqldump 命令导出数据(其实就是很多 SQL 语句),再将这些数据导入到新的数据中。
然而,中文乱码问题令人焦头烂额。ç ?这是什么?
解决步骤
(1) 使用 mysqldump 命令导出数据库: mysqldump -u username -p databasename > dump.sql 。发现有 “'ç ”ç©¶ç”Ÿ'” 这样的奇怪字符, PHP 程序读入,却无法正常显示。
(2) 安装并使用 Python 包 ftfy (fixes text for you) 中的 fix_text() 函数对 dump.sql 进行 “转码”,将结果存为 dump_fixed.sql 。ftfy 是个关键的包, 帮了大忙。

(3) 使用 "CREATE DATATABASE newdatabasename" MySQL 命令创建新的数据库 newdatabasename 。
(4) 将转码后的 dump_fixed.sql 导入到新的数据库 newdatabasename 中:mysql -u usesrname -p newdatabasename < dump_fixed.sql
都 2023 年了, MySQL dump 乱码问题依旧很顽固,没有简单的解决的方案,搞了 8 个小时,几乎放弃。