mysql nn
許多人可能會有這樣的經驗:明明全部系統都以 UTF-8 設置,但是用 phpMyAdmin 去看數據庫時,發現中文字仍然是亂碼。若有發生這種情況,大多因為安裝數據庫時候指定默認的存儲編碼是latin1。因為雖然 mysql 本身及網頁都是 utf-8,但是mysql卻用 latin1 將數據儲存起來,因此是 utf-8 數據被以 latin1 的格式儲存進數據庫。
1、知道了原因解決辦法就有了。就是把數據以latin1的編碼導出,這樣導出的數據就不會亂碼,再以utf-8導回數據庫。
- mysqldump --all-databases --default-character-set=latin1 -u root -p > backup.sql
2、修改 backup.sql 文件首頁的:
/*!40101 SET NAMES latin1 */; 成為 /*!40101 SET NAMES utf8 */;
CHARSET=latin1 成為 CHARSET=utf8