WordPress 中文化修正篇

這次跟大家分享一個WordPress無法中文化的障礙排除,如果你的狀況發生時的環境是:php5.X版,64-bit windows and linux/freebsd 作業系統,wp-config.php設定正確,語系檔也上傳成功,但是還是無法中文化,可以參考以下的解決辦法:

打開wp-includes/gettext.php,找到:

$this->enable_cache = $enable_cache;

// $MAGIC1 = (int)0x950412de; //bug in PHP 5.0.2
$MAGIC1 = (int) - 1794895138;
// $MAGIC2 = (int)0xde120495; //bug
$MAGIC2 = (int) - 569244523;
// 64-bit fix
$MAGIC3 = (int) 2500072158;

$this->STREAM = $Reader;
$magic = $this->readint();
if ($magic == ($MAGIC1 & 0xFFFFFFFF) || $magic == ($MAGIC3 & 0xFFFFFFFF)) { // to make sure it works for 64-bit platforms
$this->BYTEORDER = 0;
} elseif ($magic == ($MAGIC2 & 0xFFFFFFFF)) {
$this->BYTEORDER = 1;
} else {
$this->error = 1; // not MO file
return false;
}

替換成如下:

$this->enable_cache = $enable_cache;

// $MAGIC1 = (int)0x950412de; //bug in PHP 5
$MAGIC1 = (int) - 1794895138;
// $MAGIC2 = (int)0xde120495; //bug
$MAGIC2 = (int) - 569244523;
$MAGIC3 = (int) 2500072158; // <- 64 BIT FIX: ADD THIS LINE! $this->STREAM = $Reader;
$magic = $this->readint();
if ($magic == $MAGIC1 || $magic == $MAGIC3) { // <- 64 BIT FIX: CHANGE THIS LINE! $this->BYTEORDER = 0;
} elseif ($magic == $MAGIC2) {
$this->BYTEORDER = 1;
} else {
$this->error = 1; // not MO file
return false;
}

以上完成。

相關的資料參考WordPress Mu討論區上的這一篇說明

About The Author

max

使用 WordPress 架設網站不再是一件痛苦的工作。這裡跟大家分享使用WordPress的相關問題與研究。 並且提供有關WordPress外掛程式,佈景主題等等的使用經驗分享。 幫助想要建立網站的朋友,可以簡單,快速,無痛苦的建立與使用網站。

26 Comments

  1. blueskuei

    感謝大大
    這個方法也能讓某些因為主機商升級系統後,後台突然變回英文的人使用。:)

    但我看到對岸網友有另一個方式,在這裡:
    http://myurl.com.tw/s23k

    bluehost的用戶可以參考一下:P

  2. kayla lo

    您好,
    我才剛開始安裝wordpress,今天試圖中文化,過程中就是因為php5.X版,64-bit windows and linux/freebsd 作業系統,按照您這篇提供的解決方法終於將介面變成中文了,感謝感謝!!
    但還有一個很嚴重的問題:我無法在輸入框中打中文,只要一打中文按了儲存之後,就會變成”???”,我已將wp-config.php檔修改中文化的設定如下:
    define(‘DB_CHARSET’, ‘utf8’);
    define(‘DB_COLLATE’, ‘utf8_general_ci’);
    define (‘WPLANG’, ‘zh_TW’);
    請問是不是還有哪裡需要設定呢?

    你好,請問你在虛擬主機建立資料庫時,是否有將資料庫的校對連線設成utf8_general_ci?
    max

  3. kayla lo

    我是租國外的hosting主機空間,請問這個問題是要跟網管人員確認嗎?
    kayla

    你好,請問你在虛擬主機建立資料庫時,是否有將資料庫的校對連線設成utf8_general_ci?
    max

  4. kayla lo

    max, 感謝您, 我請hosting公司的技術人員看過,確實是因為資料庫連線未設定正確,現在已經解決了…
    目前還在學習使用wordpress架設我自己的網站,,希望完成之後, 也能夠與大家一起分享經驗!!!
    kayla

    很高興你的問題可以解決,更歡迎你加入WordPress使用的行列。
    max

  5. Happy

    Dear Max
    請問可以用Big5 來建立wordpress, 因為我其他的資料庫都是Big5, 但我上次設定Big5結果變成亂碼?

    WordPress 應該支援Big5吧? 我想應該是我自己沒設好吧!

    你好,WordPress支援多種語言版本,當然為了讓中文呈現正確必須將資料庫連線校對設定為utf8_general_ci,然後你的wp-config.php裡面的define(’DB_CHARSET’, ‘utf8′);define(’DB_COLLATE’, ‘utf8_general_ci‘);必須設定正確。
    max

  6. cchong

    Max 您好
    今天剛把wordpress架好但是遇到中文化的問題
    我的架構是apache2.0.63+php5.2.9+mysql5.1.34
    wp-config.php中已設定zh_TW 也把語系檔拷貝到wp-content/languages/中
    且照您上面修改篇所說的 更改掉了,但依舊無法顯示中文
    可否請您看看 是哪邊還有問題嗎?? 感謝

  7. max

    cchong
    你好,這篇文章的修正是以前版本,你如果安裝WordPress最新版本,並不需要這樣修正。
    你提到的無法中文化,是管理介面就沒有中文化嗎?無法中文化的檢視我們需要一步一步來確認,首先是wp-config.php檔案的設定正確,請你再次詳細檢查一遍。再來就是語言檔的上傳,也請你再次檢查一遍,另外也請你發表中文文章試試。

  8. cchong

    MAX 您好
    是的,管理介面就無法中文化,wordpress是2.7.1版 wp-config.php
    三個地方都有設定了 utf8,utf8_general_ci,zh_TW已經設定好了
    資料庫會有關係嗎?因為我登入資料庫的時候 它顯示我缺少mcrypt模組

  9. cchong

    補充一下 發表中文文章是可以的

  10. max

    cchong
    你好,在FTP上傳語言檔(mo)時,檔案傳送的格式是否正確?
    請確認沒有使用ASCII mode格式。

  11. cchong

    MAX 您好
    您說的部分,檔案是由(Linux-FireFox-COPY To /usr/local/apache2/htdocs/)
    這樣會有編瑪錯誤的問題嗎?

  12. max

    cchong
    你好,主機是你自行架設的嗎?
    如果是可以簡述一下系統嗎?
    Linux?64位元?中文語言檔是在哪下載的?

  13. cchong

    MAX您好

    主機是自行架設的
    linux FedoraCore3
    apache 2.0.63
    php5.2.9
    mysql5.1.34
    中文化檔http://wordpress.kirin-lin.idv.tw/Home/oldfiles/WordPress_zh_TW_2.7.1.zip
    MAX大 麻煩您了 感恩

  14. cchong

    $cfg[‘Servers’][$i][‘pmadb’] … 確定
    $cfg[‘Servers’][$i][‘relation’] … 未能確定 [ 說明文件 ]
    一般關聯功能: 未啟動

    $cfg[‘Servers’][$i][‘table_info’] … 未能確定 [ 說明文件 ]
    功能顯示: 未啟動

    $cfg[‘Servers’][$i][‘table_coords’] … 未能確定 [ 說明文件 ]
    $cfg[‘Servers’][$i][‘pdf_pages’] … 未能確定 [ 說明文件 ]
    建立 PDF: 未啟動

    $cfg[‘Servers’][$i][‘column_info’] … 未能確定 [ 說明文件 ]
    顯示欄位註解: 未啟動
    SQL 語法書籤: 未啟動
    瀏覽器轉換方式: 未啟動

    $cfg[‘Servers’][$i][‘history’] … 未能確定 [ 說明文件 ]
    SQL 歷程: 未啟動

    $cfg[‘Servers’][$i][‘designer_coords’] … 未能確定 [ 說明文件 ]
    Designer: 未啟動

    會不會是MySQL的關係??

  15. max

    cchong
    你好,以phpMyAdmin管理資料庫,在安裝前是不是有將資料庫的連線校對調整為utf8_general_ci。

  16. cchong

    MAX您好
    有的
    wp_comments 1 MyISAM utf8_general_ci 6.2 KB –
    wp_links 7 MyISAM utf8_general_ci 4.5 KB –
    wp_options 121 MyISAM utf8_general_ci 461.3 KB 184 Bytes
    wp_postmeta 0 MyISAM utf8_general_ci 4.0 KB –
    wp_posts 2 MyISAM utf8_general_ci 10.6 KB –
    wp_terms 2 MyISAM utf8_general_ci 11.1 KB –
    wp_term_relationships 8 MyISAM utf8_general_ci 3.2 KB –
    wp_term_taxonomy 2 MyISAM utf8_general_ci 3.1 KB –
    wp_usermeta 6 MyISAM utf8_general_ci 10.3 KB –
    wp_users 1 MyISAM utf8_general_ci 4.1 KB

  17. max

    cchong
    你好,試試php.ini裡面關於記憶體的設定,將它調整高一點。
    調整完記得重新啟動apache server。

  18. cchong

    MAX大
    請問更改記憶體是在php.ini
    哪一個選項??
    是…
    post_max_size ???

  19. cchong

    MAX大
    已調整為16M
    可是 結果還是沒變
    我快被這個搞瘋掉了~~><~~~

  20. max

    cchong
    你好,因為手上沒有與你相同環境的主機,所以找不到問題的癥結。在其他版本64位元的主機也沒有發生這樣的錯誤,所以都是以猜測的方式在進行,很抱歉讓你試了這麼多次。另外記憶體是指memory_limit這個的值,這個太低gettext.php這個檔案有時會出錯,主機是你自己的,你可以調高一點試試(64M),另外是不是檢視主機的log檔,看看有沒有其它的錯誤訊息可以參考。

  21. cchong

    MAX您好
    目前後台及管理介面已變成中文
    但是部落格部分依舊是英文的 請問一下是我還有哪邊遺漏了嗎?
    http://www.lishung.idv.tw

    ps:這中間我調過記憶體大小 及 重新下載 中文化檔
    也不知道是哪個環節出問題,到目前叨擾您許多時間
    非常感謝您

  22. cchong

    MAX大 您好
    目前部落閣中文化問題已經解決了
    叨擾你許多時間 非常感謝您提供的寶貴意見
    日後 有問題再向您請益
    謝謝

  23. max

    cchong
    你好,很高興中文化的問題可以解決,如果可以希望你能夠分享解決的辦法,讓往後有相同問題的朋友有一個可以參考的文件,謝謝。

  24. 大雄

    我試過上面的方法結果還是英文的
    請問有哪位網友可以幫忙的
    我的即時通是[email protected]大雄
    感激不盡

  25. Mr.TK

    版大您好!!
    感謝您的回信!!
    昨天搞了一整個晚上,
    總算在我決定TRY完最後一個辦法後就要放棄時,
    沒有想到他真的成功了!!

    我遇到的問題是..
    我沒有把phpMyAdmin中,我的部落格資料庫裡的每一個子項目的校對語系改成utf8_general_ci,導致我所發文章,只要有中文的地方都變成了問號!

    總算是解決了!還是謝謝版大的熱心指教。

    這是我的BLOG:http://iphone4fun.idv.st/
    我會定期更新,主要是用來分享有關於iphone上的相關資料!!
    也歡迎您的參觀喔!!謝謝。

  26. max

    Mr.TK
    很高興你的問題可以解決。
    希望在不久的未來可以在你的網誌看見許多iphone的文章。

網站架設

WordPress 虛擬主機免費安裝設定