如何搜索键盘上没有字符的字符串(非英语)?

时间:2010-10-17 16:34:18

标签: .net sql sql-server string-matching

我有一个搜索表单,我希望我的用户能够为非英文字符输入英文字符等价物。

例如。 要查找Ælfred,用户可以搜索“Ælfred”或“AElfred” 搜索也应该不区分大小写,因此“aelfred”会起作用 我也搜索它,以便默认情况下它匹配字符串的开头,因此搜索“Æ”或“AE”或甚至“A”将在结果中包含Ælfred。

其他转换,例如ê - > e,å - > a,需要考虑。

我正在使用带有SQL后端的ASP.NET。是否有任何标准库可以帮助进行此类搜索?

1 个答案:

答案 0 :(得分:1)

并非总是有一个等同于非英语字符的英文字符,但可以尝试使用string.Normalize规范化字符串存储在不同的字段中并与之比较。

MS SQL字段和全文搜索目录可以是不区分重音且不区分大小写的,因此您可以覆盖其他案例。