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討論區上的這一篇說明。
感謝大大
這個方法也能讓某些因為主機商升級系統後,後台突然變回英文的人使用。:)
但我看到對岸網友有另一個方式,在這裡:
http://myurl.com.tw/s23k
bluehost的用戶可以參考一下:P
您好,
我才剛開始安裝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’);
請問是不是還有哪裡需要設定呢?
我是租國外的hosting主機空間,請問這個問題是要跟網管人員確認嗎?
kayla
max, 感謝您, 我請hosting公司的技術人員看過,確實是因為資料庫連線未設定正確,現在已經解決了…
目前還在學習使用wordpress架設我自己的網站,,希望完成之後, 也能夠與大家一起分享經驗!!!
kayla
Dear Max
請問可以用Big5 來建立wordpress, 因為我其他的資料庫都是Big5, 但我上次設定Big5結果變成亂碼?
WordPress 應該支援Big5吧? 我想應該是我自己沒設好吧!
Max 您好
今天剛把wordpress架好但是遇到中文化的問題
我的架構是apache2.0.63+php5.2.9+mysql5.1.34
wp-config.php中已設定zh_TW 也把語系檔拷貝到wp-content/languages/中
且照您上面修改篇所說的 更改掉了,但依舊無法顯示中文
可否請您看看 是哪邊還有問題嗎?? 感謝
cchong
你好,這篇文章的修正是以前版本,你如果安裝WordPress最新版本,並不需要這樣修正。
你提到的無法中文化,是管理介面就沒有中文化嗎?無法中文化的檢視我們需要一步一步來確認,首先是wp-config.php檔案的設定正確,請你再次詳細檢查一遍。再來就是語言檔的上傳,也請你再次檢查一遍,另外也請你發表中文文章試試。
MAX 您好
是的,管理介面就無法中文化,wordpress是2.7.1版 wp-config.php
三個地方都有設定了 utf8,utf8_general_ci,zh_TW已經設定好了
資料庫會有關係嗎?因為我登入資料庫的時候 它顯示我缺少mcrypt模組
補充一下 發表中文文章是可以的
cchong
你好,在FTP上傳語言檔(mo)時,檔案傳送的格式是否正確?
請確認沒有使用ASCII mode格式。
MAX 您好
您說的部分,檔案是由(Linux-FireFox-COPY To /usr/local/apache2/htdocs/)
這樣會有編瑪錯誤的問題嗎?
cchong
你好,主機是你自行架設的嗎?
如果是可以簡述一下系統嗎?
Linux?64位元?中文語言檔是在哪下載的?
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大 麻煩您了 感恩
$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的關係??
cchong
你好,以phpMyAdmin管理資料庫,在安裝前是不是有將資料庫的連線校對調整為utf8_general_ci。
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
cchong
你好,試試php.ini裡面關於記憶體的設定,將它調整高一點。
調整完記得重新啟動apache server。
MAX大
請問更改記憶體是在php.ini
哪一個選項??
是…
post_max_size ???
MAX大
已調整為16M
可是 結果還是沒變
我快被這個搞瘋掉了~~><~~~
cchong
你好,因為手上沒有與你相同環境的主機,所以找不到問題的癥結。在其他版本64位元的主機也沒有發生這樣的錯誤,所以都是以猜測的方式在進行,很抱歉讓你試了這麼多次。另外記憶體是指memory_limit這個的值,這個太低gettext.php這個檔案有時會出錯,主機是你自己的,你可以調高一點試試(64M),另外是不是檢視主機的log檔,看看有沒有其它的錯誤訊息可以參考。
MAX您好
目前後台及管理介面已變成中文
但是部落格部分依舊是英文的 請問一下是我還有哪邊遺漏了嗎?
http://www.lishung.idv.tw
ps:這中間我調過記憶體大小 及 重新下載 中文化檔
也不知道是哪個環節出問題,到目前叨擾您許多時間
非常感謝您
MAX大 您好
目前部落閣中文化問題已經解決了
叨擾你許多時間 非常感謝您提供的寶貴意見
日後 有問題再向您請益
謝謝
cchong
你好,很高興中文化的問題可以解決,如果可以希望你能夠分享解決的辦法,讓往後有相同問題的朋友有一個可以參考的文件,謝謝。
我試過上面的方法結果還是英文的
請問有哪位網友可以幫忙的
我的即時通是[email protected]大雄
感激不盡
版大您好!!
感謝您的回信!!
昨天搞了一整個晚上,
總算在我決定TRY完最後一個辦法後就要放棄時,
沒有想到他真的成功了!!
我遇到的問題是..
我沒有把phpMyAdmin中,我的部落格資料庫裡的每一個子項目的校對語系改成utf8_general_ci,導致我所發文章,只要有中文的地方都變成了問號!
總算是解決了!還是謝謝版大的熱心指教。
這是我的BLOG:http://iphone4fun.idv.st/
我會定期更新,主要是用來分享有關於iphone上的相關資料!!
也歡迎您的參觀喔!!謝謝。
Mr.TK
很高興你的問題可以解決。
希望在不久的未來可以在你的網誌看見許多iphone的文章。