即時通訊使用Sphider作爲我的網站的搜索引擎,它很容易處理,但即時通訊與本地化字符有一些主要問題。PHP搜索引擎問題
我的所有html/php頁面都將字符集定義爲UTF-8,而來自Sphider的搜索和結果頁charset = ISO-8859-1,當我第一次使用Sphider「蜘蛛」抓取我的網站時完成所有我的本地化字符到一些編纂我不知道:
「C」變成「§」等以「A」,「A」等
當我在MySQL創建的DB我做它是一個utf-8_general_ci也是我對DB的防禦: MySQL字符集:UTF-8 Unicode(utf8) MySQL連接排序規則:utf-8_unicode_ci
這是一個真正的問題,因爲搜索將無法正常工作,如果我搜索「diferença」,例如在URL中它將顯示爲「?query =diferença& search = 1」,這是正確的,但不會產生任何結果「建議搜索」將在其不可見的情況下顯示爲「diferen a」,「ç」變成黑色正方形,並帶有白色問號。
我相信蜘蛛可能有一個不同的工作字符集,但我似乎無法理解,如果是這樣的話。也正在朝着英語發展,我認爲它不難理解,它一路上有一些打嗝。
有沒有人有任何經驗,或者我應該怎麼做才能解決這個問題?
真正搞砸我的不是理解爲什麼我在數據庫中得到奇怪的符號。
Thnak你,艱難的有限即時通訊保留現在,我不想使用谷歌,因爲我沒有辦法控制蜘蛛或結果佈局整合到我的網站。我最初看着Lucene,但它已經過去了。 – Joel 2010-08-04 10:45:24
如果可以,您可以使用輸出緩衝來捕獲您生成的整個頁面,然後如果它被蜘蛛請求,請使用iconv將其轉換爲ISO-8859-1 // IGNORE。 – jmz 2010-08-04 12:50:55