1 頁 (共 1 頁)

[問題]資料庫載入問題 (已自行解決)

發表於 : 2007-08-19 17:19
eastpeak
●架設主機作業系統:虛擬主機Linux
●您安裝的程式:My SQL版本4.1.21
●您的 phpBB2 版本:phpBB 3 RC4
●您的 domain :www.bike-mania.net
●您的 phpBB2 連結網址: http://www.bike-mania.net/phpbb3/

原先討論區是架在自己的機器上,現在要搬到代管的虛擬主機,問題出在之前的資料庫是用utf-8編碼與輸出,但虛擬主機的預設編碼是latin1。

在虛擬主機上新裝phpbb3,發文瀏覽都沒問題,但把原先的資料庫載入虛擬主機後則中文都變成亂碼,在虛擬主機端的phpmyadmin內是用utf-8載入,
phpmyadmin內瀏覽仍可看到正確的中文,看來資料載入沒有問題,而是phpbb3讀取mysql的資料時的格式不對。

之前爬文看到phpbb2可以修改db.php解決,不知在phpbb3是否有類似的解決方法呢?

發表於 : 2007-08-19 18:19
eastpeak
phpbb3已經沒有/includes/db.php,自己找了幾個檔案,發現這部份的程式碼似乎已經放到/common.php中,
我對php是一竅不通,但這個方法在我的case上可以適用,所以提出來給大家參考...
順便問個問題,這樣存在新資料庫內的還是utf-8的編碼格式吧?

我的作法如下:

-----[ OPEN ]-----
/commom.php

#
#-----[ FIND ]-----
#
代碼:

$db->sql_connect($dbhost, $dbuser, $dbpasswd, $dbname, $dbport, false, false);

#
#-----[ AFTER, ADD ]-----
#
代碼:

$db->sql_query("SET NAMES latin1;");

#
#-----[ SAVE & CLOSE ]-----
#

發表於 : 2007-08-19 19:50
chiouss
這樣存在新資料庫內的還是utf-8的編碼格式吧?
當然不是。你該把他們的資料庫改成用 utf8 儲存,而不是跟著用 latin1 Orz