其實在很多opensource底下的套裝軟體,資料庫預設都是用 utf8,我想這會造成在 phpMyAdmin 底下看到亂碼,然後自己之前也有遇到問題,然後又在網路上看到這篇 搶救 xdite.net 所用的奇技淫巧 裡面所寫的備份方式跟我在轉換 phpBB2 跟自己的 wordpress 一樣 大同小異,我還在想說有更好的解法說,看來是沒有,在 wordpress 底下,只能利用後台的資料庫備份,不然用phpMyAdmin的話,我想你備份出來也是沒用。
其實解法很容易,在
搶救 xdite.net 所用的奇技淫巧 裡面有提到一篇大陸的解法:搞定亂碼,搬家到 Dreamhost 其實內容大概就跟我第一段寫的差不多,如果有提供ssh的虛擬主機的話,還可以利用ssh mysqldump 的方式來備份 備份步驟如下
- 利用 wordpress 後台管理介面備份database,如果不利用後台的話,用phpmyadmin的話,會在成亂碼喔 不然就是ssh連線到主機上面,下指令 mysqldump -h mydomain -u root -p –default-character-set=utf8 database > database.sql
- 在phpMyadmin中設定MySQL 字符集: UTF-8 Unicode (utf8)
- phpMyadmin中設定MySQL 連線校對 選 utf8_general_ci
- 修改剛剛備份好的 sql 檔案,用編輯器打開 查找”DEFAULT CHARSET=utf8″ 用”DEFAULT CHARSET=utf8″替换
- 然後在重新利用phpmyadmin把檔案匯入到新建立的資料庫,或者是下指令 mysql -u root -p new_database < database.sql
- 修改 wordpress 程式碼,修改wp-includes/wp-db.php內,找到 $this->dbh = @mysql_connect($dbhost,$dbuser,$dbpassword); //後面加入 $this->query(“SET NAMES ‘utf8′” ); 上面的方法適用於再任何套裝軟體,我在 phpBB2 的big5轉換成utf-8的時候,也是用這種方法,給大家參考看看
See also
- [SQL] 如何從單一資料表取得每個 key 前 n 筆資料
- 在 Docker 偵測 MySQL 或 Postgres 是否啟動
- Laravel 50 個小技巧 + Laravel 5.2 新功能
- 優化 Percona XtraDB Cluster for write hotspots
- 在 Debian 安裝 Percona Xtradb Cluster 5.5.34 注意事項
- 免費下載 Percona MySQL eBooks
- OSDC 2014 Talk: Introduction to Percona XtraDB Cluster and HAProxy
- Percona Cloud Tools for MySQL 介紹及安裝
- Percona XtraDB Cluster 5.6 找合適 IST Donor
- MySQL 5.6 UUID 複製資料到 Slave Server