2011-04-18 52 views
0

我們的客戶數據(SQL Server 2005)中包含html實體(é - > & eacute;)。在包含html實體的字段中搜索

我們需要在這些字段內搜索,因此搜索「équipe」將會找到「& eacute; quipe」。

我們無法更改數據,因爲我們客戶的客戶可以隨意編輯這些字段(使用HTML編輯器),所以如果我們刪除實體,在下次編輯時它們可能會重新出現,問題依舊那裏。
我們不能使用.net服務器端函數,因爲我們需要在返回到服務器之前查找行。我會使用一個函數來替換它們的UTF-8對象的實體,但這是一種令人厭煩的行爲,我認爲它會嚴重降低搜索性能(如果我正確記得全表掃描的話)。

有什麼想法?

謝謝

回答

1

您只需要檢查和編碼傳入的搜索詞。 如果您將「équipe」轉換爲「équipe」,並將其用於WHERE/FTS子句中,那麼如果優化程序認爲它適合,則該字段上的任何索引仍可以使用。

+0

謝謝,我不敢相信我沒有想到這一點。 – thomasb 2011-04-18 14:13:42