之前遇過啟用 NextGEN Gallery,不過怎麼弄 NextGEN Gallery 就是不肯乖乖地正確顯示中文描述,奇怪的是部落格文章卻很正常。

研究很久以後終於得到結論:
1. 我的資料庫校正(校對)是使用 utf8_unicode_ci。

2. 而 WP 資料庫預設是 latin1_swedish_ci (系統自己建立的)。

3. WP 寫入的資料表卻是 utf8_unicode_ci (這是剛剛弄的測試部落格,我自己的部落格則是 utf8_general_ci)。

4. 由於資料庫預設為 latin1_swedish_ci 所以當我啟用 NextGEN Gallery 時,NextGEN Gallery 所寫入的資料表自然是使用 latin1_swedish_ci 所為預設格式。

5. 進入 NextGEN Gallery 的 wp_ngg_tags 資料表,點選右上方的『管理』。

6. 將校正(校對)改為 utf8_unicode_ci 然後按下『執行』。

7. 這時 wp_ngg_tags 資料表的校正(對)已經變更為 utf8_unicode_ci,但是資料表內部的欄位仍然是 latin1_swedish_ci。

8. 勾選有使用校正(對)的欄位,然後點擊下面那枝綠色的筆(修改)。

9. 將校正(對)更改為 utf8_unicode_ci,然後『儲存』。

10. 這時欄位跟資料表的校正(對)已經一致了,上方的 SQL 語法是剛剛變更動作時程式所下的指令,如果會用的話可以利用指令來批次處理所有的資料表以及欄位,可惜小弟不會。

11. 回到 WP 資料庫頁面,確認 wp_ngg_tags 資料表的校正(對)已經確實變更為 utf8_unicode_ci。

12. 但是資料庫預設校正(對)卻仍然是 latin1_swedish_ci,點擊上方的『管理』。

13. 將校正(對)更改為 utf8_unicode_ci,然後按下『執行』。

14. 資料庫預設校正(對)已經設定完畢,只要繼續將其他的資料表進行設定即可。

經過設定以後,NextGEN Gallery 已經可以正常顯示中文了。

還是那句話,動手前記得先備份。

寫這篇包括安裝部落格、拍圖、標註花了將近4個小時...

延伸閱讀:
1. mysql 裡 utf8_general_ci 跟 utf8_unicode_ci 連線校對的差異