LifeType 中文開發論壇

測試 => LifeType 1.0 測試 => 主題作者是: csbird 於 三月 18, 2005, 09:04:59 上午



主題: 中文问题
作者: csbird三月 18, 2005, 09:04:59 上午
爲何輸入字段值爲 小鳥
數據庫中卻爲  灏忛偿

有什麽辦法將  灏忛偿 還原爲 小鳥


主題: 中文问题
作者: markwu三月 18, 2005, 09:06:39 上午
你在看資料庫時是用什麼編碼?

如果你是選擇 UTF-8 當作你的pLog 編碼,那在看資料庫時也必須選擇 UTF-8 的中文語系。否則看起來就是亂碼。

Mark


主題: 中文问题
作者: csbird三月 18, 2005, 09:19:01 上午
是這樣的,我要用PLOG與一個論壇( Discuz! 2.5)整合起來,共用用戶數據庫,
改論壇數據庫中的用戶名字段是中文,例如: 小鳥
這樣的話我用PLOG就無法登陸,應爲登陸框中輸入 小鳥後提交到
user.class.php中的
 function authenticateUser( $user, $pass )
時,$user 的值變爲了 灏忛偿

如此一來:
$query = "SELECT * FROM ".$this->DB_USER."
       WHERE username = '".Db::qstr($user)."' AND password = '".md5($pass)."'                 AND status = '".USER_STATUS_ACTIVE."'"

該語句就找不到正確的記錄


主題: 中文问题
作者: lss三月 18, 2005, 09:33:39 上午
猜測你的論壇用的資料庫所儲存的資料編碼不是utf-8。

pLog的整個資料庫內的所有資料都是utf-8的語系,假設你的論壇資料庫儲存的資料是用GB2312(從你的"數據庫"用詞猜的),那用戶名 GB2312(小鳥)不等於utf-8(小鳥),自然無法在 pLog 裡登錄了。

你可以試試用 iconv 函數 (http://tw.php.net/manual/en/function.iconv.php)做用戶名的語系轉換,或在論壇搜尋一下把 pLog 換成你的語系的方法(最近就有被討論過)。


主題: 中文问题
作者: csbird三月 18, 2005, 12:34:27 下午
感謝各位的幫助,最後用了 lss
的第二種辦法


主題: 中文问题
作者: markwu三月 19, 2005, 09:01:57 上午
csbird:

如果是你說的情況,那 iconv 的確是最好解決得方式。但是要注意,因為你使用 GB2312(用 big5 也一樣),到時跟其他的網誌互相引用時會出現亂碼。因為編碼不同。

所以我們才會推薦用 UTF-8 ,至少各國家的語言編碼都在裡面,不會有亂碼問題。

Mark