MySQL之 utf8 處理

本站自2005年3月16日以Wordpress 1.5建站以來,雖然系統一直可以正常運作,但當使用資料庫管理套件,如phpmyadmin,進入管理資料庫瀏覽資料時,會發現中文都是亂碼。不過既然系統可以正常運作,就先放著不管它…這一放就放了6年。

星期天心血來潮,又看到Wordpress 3.1.3更新,順便想解決上面講的問題,上網研究原來是因當初MySQL安裝時未注意系統的預設編碼是latin1,而Wordpress使用utf8編碼,亂碼的現象就是utf8的文字以latin1形式儲存,phpmyadmin讀出來的資料顯示錯誤。解決phpmyadmin讀出亂碼是把資料庫的編碼轉成utf8,步驟:

  • 先匯出資料,使用MySQL的工具:
    mysqldump -u root -p wpblog > wpblog.sql --default-character-set=latin1
    (root是使用者名稱,wpblog是Wordpress資料庫名稱)
  • 使用emEditor(支援utf-8的編輯器)把wpblog.sql 打開,用取代的功能把所有的latin1都取代成utf8,之後直接另存新檔wpblog-utf8.sql,把檔案類型設定儲存成unsigned UTF-8。
  • 匯入資料:
    mysql -u root -p wpblog < wpblog-utf8.sql --default-character-set=utf8

沒有錯誤訊息出現就成功了。

此時用phpmyadmin,可以正確顯示中文,Wordpress 3.1.3也可以正確顯示中文。

但是原來使用的Wordpress 2.1.3 跟 3.1.3 (剛好差了一大版本),畢竟版本差太多,試用了一下3.1.3,很多外掛插件(plugin)無法延用,基於省事心態,打算還是用2.1.3就好,想不到使用Wordpress 2.1.3時竟不會正確顯示中文,所有文章全都是問號????,真是傻眼,由於是線上系統,試了將近一小時,也就是本站顯示了一小時的問號,無法使Wordpress 2.1.3顯示更改過編碼的文章,原因?不知。還好Wordpress 3.1.3是正常的,雖身處冷氣房內,還是嚇出一身冷汗。

本站只好意外升級Wordpress 3.1.3,plugin再慢慢更正吧。

(Visited 372 times, 1 visits today)

別人也看了:

Apache on Windows 本格的 Apache 跑在新主機板的 Windows Vista 上面,經過幾天運行,目前看起來 ok. 目前的 Apache 2.2.4 安裝檔,不能在 Vista 上完成安裝,有下面方法可...
使用中的 WordPress Plugin 若你對本站使用中的 plugin 有興趣的話, 參考下表. 如果你發現有的 plugin 跑起來跟本站不一樣, 那是因為我改過了... ...
apt-get “下列套件將會維持其原有版本”?... 如何解決 apt-get 出現"下列套件將會維持其原有版本"? 或是英文 "The following packages have been kept back"? 下面以mysql-serve...
幾個好用的WordPress外掛(plugin) 本站升級WordPress 3.1.3之後,可能是太久沒有接觸WordPress的世界,突然發現世界進步的真快 -- 新的佈景主題模組化,不用手動改code、新的各式各樣外掛(plugin)、更現代的...
WordPress Permalink 與 IIS 用的 ISAPI_rewrite 本篇屬進階功能,適用於裝好WordPress又想挖掘出新功能的人使用. WordPress 裡有個東西叫做 Permalink, 它是 permanent link 的縮寫. What is tha...
分享:

“MySQL之 utf8 處理” 有 4 則迴響.

發表迴響