簡體   English   中英

PHP搜索引擎問題

[英]PHP search engine problem

我使用Sphider作為我的網站的搜索引擎,它確實很容易使用,但是本地化字符存在一些重大問題。

我所有的html / php頁面的字符集都定義為UTF-8,而Sphider的搜索和結果頁面的字符集為ISO-8859-1,當我第一次使用Sphider“蜘蛛”爬網我的網站時,本地化字符到一些我不知道的編纂中

“ç”變為“ç”,以“ã”,“á”等表示

當我在MySql中創建數據庫時,我將其設置為utf-8_general_ci,我對該數據庫的定義是:MySQL字符集:UTF-8 Unicode(utf8)MySQL連接排序規則:utf-8_unicode_ci

這是一個實際的問題,因為該搜索無法正常工作,例如,如果我搜索“diferença”,則在網址中它將顯示為“?query =diferença&search = 1”,這是正確的,但在“建議的搜索”中不會產生任何結果如果看不到它,它將顯示為“ diferen.a”,“ç”已變成黑色正方形,上面帶有白色問號。

我相信蜘蛛可能具有不同的工作字符集,但我似乎無法理解是否確實如此。 我也主要是針對英語而發展的,我認為不難理解它在發展過程中會遇到一些麻煩。

有沒有人有任何經驗,或者我應該怎么做才能解決這個問題?

真正困擾我的是不理解為什么我在數據庫中得到奇怪的符號。

快速瀏覽一些Sphider源代碼文件后發現該應用程序僅適用於Latin1字符集。 您應該切換到其他搜索引擎,例如Lucene 不過,您需要做更多與搜索相關的編碼。 如果您不想這樣做,並且您的網站是公開的,則只需集成Google搜索即可。

您應該在utf-8中擁有一切。

  • 編輯任何給定頁面的表單
  • 物理文件
  • 輸出的html文件
  • 標頭
  • 與數據庫的連接
  • 表定義

一位小姐,您會遇到問題(我是根據個人經驗講的)

  1. 在適當的模板目錄中,將文件“ header.html”的第4行修改為<meta http-equiv="content-type" content="text/html; charset=UTF-8">
  2. 將“語言”目錄中的相應php文件轉換為UTF8。

如果以上條件仍然不夠,請也遵循《 The Disintegrator》的回答。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM