歡迎光臨, 訪客. 請先 登入註冊一個帳號.
十一月 26, 2024, 12:22:55 下午
19595 文章 在 3865 主題 由 4579 會員
最新註冊會員: aa123aa1
LifeType 中文開發論壇  |  測試  |  LifeType 1.0 測試  |  中文问题 « 上篇主題 下篇主題 »
頁: [1]
作者 主題: 中文问题  (閱讀 17154 次)
csbird
新手見習
*
文章: 11


檢視個人資料
« 於: 三月 18, 2005, 09:04:59 上午 »

爲何輸入字段值爲 小鳥
數據庫中卻爲  灏忛偿

有什麽辦法將  灏忛偿 還原爲 小鳥
已記錄
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #1 於: 三月 18, 2005, 09:06:39 上午 »

你在看資料庫時是用什麼編碼?

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

Mark
已記錄

csbird
新手見習
*
文章: 11


檢視個人資料
« 回覆文章 #2 於: 三月 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
我不是被~拉~~出來的,不要叫我大大!
總版主
超級會員
*****
文章: 1511



檢視個人資料 個人網站
« 回覆文章 #3 於: 三月 18, 2005, 09:33:39 上午 »

猜測你的論壇用的資料庫所儲存的資料編碼不是utf-8。

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

你可以試試用 iconv 函數做用戶名的語系轉換,或在論壇搜尋一下把 pLog 換成你的語系的方法(最近就有被討論過)。
已記錄

沒找過 常見問題集或不知道 如何在 LifeType 中文開發論壇發問的人,恕不回答問題
csbird
新手見習
*
文章: 11


檢視個人資料
« 回覆文章 #4 於: 三月 18, 2005, 12:34:27 下午 »

感謝各位的幫助,最後用了 lss
的第二種辦法
已記錄
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #5 於: 三月 19, 2005, 09:01:57 上午 »

csbird:

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

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

Mark
已記錄

頁: [1]
LifeType 中文開發論壇  |  測試  |  LifeType 1.0 測試  |  中文问题 « 上篇主題 下篇主題 »
    前往: