主題: 中文问题 作者: 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 |