MySQL Dump 亂碼如何解決?
MySQL 數(shù)據(jù)庫的數(shù)據(jù)遷移(data migration),常見的做法是先使用 mysqldump 命令導出數(shù)據(jù)(其實就是很多 SQL 語句),再將這些數(shù)據(jù)導入到新的數(shù)據(jù)中。
然而,中文亂碼問題令人焦頭爛額。???這是什么?
解決步驟
(1) 使用 mysqldump 命令導出數(shù)據(jù)庫: mysqldump -u username -p databasename > dump.sql 。發(fā)現(xiàn)有 “'? ”????”?'” 這樣的奇怪字符, PHP 程序讀入,卻無法正常顯示。
(2)?安裝并使用 Python 包 ftfy (fixes text for you) 中的 fix_text() 函數(shù)對 dump.sql 進行 “轉(zhuǎn)碼”,將結(jié)果存為 dump_fixed.sql 。ftfy 是個關(guān)鍵的包, 幫了大忙。

(3) 使用 "CREATE DATATABASE newdatabasename" MySQL 命令創(chuàng)建新的數(shù)據(jù)庫 newdatabasename 。
(4) 將轉(zhuǎn)碼后的 dump_fixed.sql 導入到新的數(shù)據(jù)庫 newdatabasename 中:mysql -u usesrname -p newdatabasename < dump_fixed.sql
都 2023 年了, MySQL dump 亂碼問題依舊很頑固,沒有簡單的解決的方案,搞了 8 個小時,幾乎放棄。?
標簽:mysqldump