|
SMF 是個人覺得相當不錯的論壇系統,各方面的功能比起phpbb2來講都要好的多,因此成為個人架設論壇的首選系統。 初安裝此系統時, 個人曾嘗試將資料庫編碼設定成 utf8,但是都安裝失敗,因為原本的 mysql 系統預設編碼是 latin1而非utf8,而且 SMF 的安裝程式以及系統的主程式都需要做些調整。 剛開始安裝的時候,對這些並不是很懂,因此只要系統能夠正常安裝和運作就覺得 ok了,然而並費這麼順遂。 所以,當時發現把資料庫編碼 維持在 latin1,這樣的話不僅可以順利安裝,系統也可以正常運作,只不過我安裝的系統檔案是 chinese-tradictional-utf8,因此頁面的資料是 utf8 格式,而資料庫的編碼是以 latin1 儲存的。 這樣的運作方式有個現象就是: 1.在系統頁面所呈現出來的資料,是正常的中文,但是資料庫內的資料,如果用 phpMyadmin去觀看的話,卻是亂碼,這是因為 phpmyadmin 是以 utf8的方式去讀取資料,而資料庫是 latin1的編碼儲存,因此讀出來的資料會變成亂碼。 2.在某些情況下,原本輸入的中文在經過資料庫的儲存然後再點開來看的時候,會變成亂碼,但是再度進入編輯模式的時候,它又正常顯示成中文,這也就是我為什麼決定要將整個資料庫編碼從 latin1 轉換成 utf8 的主要原因。 心想既然要全面更新成為 utf8 就乾脆連系統一起更新。 接下來就是整個轉換的過程說明: 1. 先升級系統成為 1.1. RC2: a. 下載 1.1. RC2 的更新檔案。 b. 下載 1.1. RC2 的中文檔。 c. 依序解壓縮更新檔跟中文檔。 d. 執行 http:/xxxx/smf/upgrade.php 進行升級作業。 資料庫轉換的方法參閱上一篇。 3. 更新系統程式: 將以下這行加入幾個主要的程式內。 @mysql_query(”SET NAMES UTF8″); a. index.php (// Load the settings from,於上一行加入) b. SSI.php (// Load installed ‘Mods’ settings.) c. 更新 Sources 目錄內的檔案 (參考綠光森林中的這篇主題:SMF 1.1rc中文亂碼修改(新年快樂!),下載 Source.zip 更新之。) 這樣下來,就完成了 utf8 的系統升級工作了。 Post a comment
|