解決CI通過(guò)Ucenter整合DZ中文用戶名無(wú)法登錄的問(wèn)題

2013-04-18 22:07:37來(lái)源:西部e網(wǎng)作者:

Codeigniter通過(guò)Ucenter整合了Discuz,但是用戶登錄的時(shí)候出現(xiàn)一些小問(wèn)題。英文用戶名登錄沒(méi)問(wèn)題,但是中文用戶名就無(wú)法登錄。判斷應(yīng)該就是編碼不一致的問(wèn)題。

Codeigniter通過(guò)Ucenter整合了Discuz,但是用戶登錄的時(shí)候出現(xiàn)一些小問(wèn)題。英文用戶名登錄沒(méi)問(wèn)題,但是中文用戶名就無(wú)法登錄。判斷應(yīng)該就是編碼不一致的問(wèn)題。

目前的狀態(tài)是:

Codeigniter是UFT-8編碼
Ucenter雖然下載的是UFT-8的,但是文件都是GB2312的
Discuz是gbk的

通過(guò)DZ登錄,反向CI也能登錄正常。

之前的寫法是:

$username = $this->input->post('username');
$this -> load -> library('Ucenter');
list($uid, $username, $password, $email) = $this->ucenter->login($username, $password);

增加一個(gè)轉(zhuǎn)換即可:

$username = $this->input->post('username');
$username = iconv('UTF-8', 'GB2312', $username);
$this -> load -> library('Ucenter');
list($uid, $username, $password, $email) = $this->ucenter->login($username, $password);

這樣就行了,其實(shí)很簡(jiǎn)單哈。

關(guān)鍵詞:CIcodeigniterUcenter

贊助商鏈接: