我有一个搜索表单,我希望我的用户能够输入非英文字符的等效英文字符。
例如。要找到Ælfred,用户可以搜索“Ælfred”或“AElfred”。
搜索也应该不区分大小写,因此“aelfred”可以工作。
我也让它搜索,默认情况下,它匹配字符串的开头,因此搜索“Æ”或“AE”甚至“A”将在结果中包含Ælfred。
需要考虑其他转换,例如 ê -> e、å -> a。
我正在使用带有 SQL 后端的 ASP.NET。是否有任何标准库可以帮助进行这种搜索?
我有一个搜索表单,我希望我的用户能够输入非英文字符的等效英文字符。
例如。要找到Ælfred,用户可以搜索“Ælfred”或“AElfred”。
搜索也应该不区分大小写,因此“aelfred”可以工作。
我也让它搜索,默认情况下,它匹配字符串的开头,因此搜索“Æ”或“AE”甚至“A”将在结果中包含Ælfred。
需要考虑其他转换,例如 ê -> e、å -> a。
我正在使用带有 SQL 后端的 ASP.NET。是否有任何标准库可以帮助进行这种搜索?
并不总是存在与非英文字符等效的英文字符,但可以尝试使用string.Normalize将规范化字符串存储在不同的字段中并与之进行比较。
MS SQL 字段和全文搜索目录可以不区分重音和不区分大小写,因此您可以了解其他情况。