使用 UpdraftPlus 外掛還原 WordPress 網站遇到中文亂碼的問題。解決方式是修改資料庫備份的文字編碼。
Made with DALL-E 3 |
問題狀況
我公司網站使用 WordPress.com 的「商用版方案」,內建了類似 Mac「時光機」的「Jetpack VaultPress Backup」能即時備份及指定還原時間點的網站副本。但根據公司的資安規範和備份321原則:
備分321原則:「至少備份3份;使用2種不同的備份方法(如光碟備份、外接硬碟備份、磁帶備份),其中1份要存放異地」。 (資料來源:檔案管理局)
Jetpack 的自動備份符合「至少備份3份」原則,但是全部備份都儲存在 WordPress.com,並未達到「其中1份要存放異地」原則。
在外掛目錄搜尋關鍵字「backup」,可以找許多自動備份 WordPress 網站的外掛。後來決定採用「UpdraftPlus Backup/Restore」外掛主要是因為支援自動備份到微軟 OneDrive 雲端硬碟。
但是還原備份檔案卻遇到中文亂碼問題。
問題解決方式
1. 下載 WordPress
2. 在自己電腦或其他網站主機商架設全新的 WordPress
3. 安裝「UpdraftPlus Backup/Restore」外掛
4. 到微軟 OneDrive 雲端硬碟下載備份檔案
5. 回到剛剛下備的備份檔目錄
6. 上圖名稱以 「-db.gz」結尾的檔案是資料庫的備份檔案,解壓縮後可以得到 WordPress 的資料庫 SQL 檔案。SET NAMES latin1 是 SQL 語法指令,用於設定資料庫連線使用 latin1 字符集。latin1 是支持歐美語言的字符編碼,不適合包含中文字的資料。這個指令造成還原後的 WordPress 中文亂碼。因此需要改為 utf8 符集。
9. 開啟支援 GZ (gzip) 檔案格是的壓縮軟體,例如:免費軟體 7-zip 或 Keka.app
將修改後的 SQL 檔案,壓縮為 GZ 格式 (gzip) 檔案。
記得要維持原本的檔案名稱,例如原本是 「xxx-db.gz」,而不可以是 「xxx-db.tar.gz」會造成還原錯誤。
10. 就可以使用原本 「UpdraftPlus Backup/Restore」外掛的功能,順利還原檔案。
版本資訊
- WordPress v. 6.4.1
- UpdraftPlus Backup/Restore v. 2.23.13.0
留言
張貼留言