我们客户的数据(SQL Server 2005)中包含html实体(é - >& eacute;)。
我们需要在这些字段内搜索,因此搜索“équipe”会找到“& eacute; quipe”。
我们无法更改数据,因为我们客户的客户可以随意编辑这些字段(使用HTML编辑器),因此如果我们删除实体,在下次编辑时它们可能会重新出现,问题仍然存在。
我们不能使用.net服务器端函数,因为我们需要在它们返回服务器之前找到它们。
我会使用一个用UTF-8替代实体来替换实体的函数,但它有点令人厌烦,我认为这会严重影响搜索性能(如果我没记错的话,可以全桌扫描)。
有什么想法吗?
由于
答案 0 :(得分:1)
您只需要检查和编码传入的搜索词。
如果将“équipe
”转换为“équipe
”并在WHERE / FTS子句中使用它,那么如果优化器认为合适,那么仍然可以使用该字段上的任何索引。