[問題]UTF-8 成功但搜尋中文卻失敗

phpBB Installation & Usage Support
phpBB 2 安裝於各類型作業平台之問題討論;外掛問題,請到相關版面依發問格式發表!
(發表文章請按照公告格式發表,違者砍文)

版主: 版主管理群

版面規則
本區是討論關於 phpBB 2.0.X 架設安裝上的問題,只要有安裝任何外掛,請到外掛討論相關版面按照公告格式發表。
(發表文章請按照公告格式發表,違者砍文)
頭像
godbless
竹貓忠實會員
竹貓忠實會員
文章: 647
註冊時間: 2002-05-17 06:02
來自: 台北市南京東路4段
聯繫:

文章 godbless »

這個討論串很有意義~~~
我們可以把它放到教學區嗎?
外掛問題區發問格式就在這裡,請務必一定照著格式來~!
你不照著規則來,就算是也搞不清楚你的問題在哪裡!
新手問問題不是罪惡
罪惡的是自己沒有先做好本分和功課,說話的口氣也不好,再加上態度有好像我們這群人欠你多少似的~~!!
竹貓星球發問規則:
http://phpbb-tw.net/phpbb/viewtopic.php?t=16149
發問比率最高的句子翻譯:
Please ensure both the install/ and contrib/ directories are deleted
請確認install和contrib資料夾已被刪除(奇怪,翻一下英漢字典有這麼困難嗎)
雪熊
星球普通子民
星球普通子民
文章: 2
註冊時間: 2004-12-29 00:28

文章 雪熊 »

DearHoney 寫:自問自答.....

我去追蹤 search.php 中的執行程序,發現他會比對目前的網頁是否為 multi-byte 的語系,如果是這種語系的網頁他會用不同的 SQL 語法去搜尋文字,他內建了幾個 multi-byte 語系的編碼,是這麼寫的:

utf-8, big5,.....

但是,我在 lang_main.php 中,改成了這樣:

$lang['ENCODING'] = "UTF-8";

他利用 strstr 這個會區分大小寫的指令去比對,結果因為他內建的是小寫的 utf-8,但是我改的是大寫的 UTF-8,所以雖然一般網頁都能正常顯示,但是他在搜尋時,由於不認為現在是 multi-byte 的網頁語系,所以用英文語系的方式去搜尋,就搞砸了。

解決方法就是:

$lang['ENCODING']="utf-8";

寫成小寫的 utf-8 就好。

爬文裡面大家似乎都沒有強調過這件事情喔!給大家做參考。
真的把「UTF-8」改成「utf-8」就好了?

我的討論區是「UTF-8」,滿奇怪的…\r
「搜尋關鍵字」搜尋不到\r
但「搜尋發表人」卻沒問題啊(能搜尋中文)
難道這根本就是pbpbb的BUG嗎?
主題已鎖定

回到「phpBB 2 安裝與使用」