Как я могу искать строки с символами не на клавиатуре (не на английском языке)? - PullRequest
4 голосов
/ 17 октября 2010

У меня есть форма поиска, в которой я хочу, чтобы мои пользователи могли вводить английские эквиваленты для неанглийских символов.

Например.Чтобы найти flfred, пользователь может искать «Ælfred» или «AElfred».
поиск также должен учитывать регистр, поэтому «aelfred» будет работать.начало строки, поэтому поиск по «Æ», «AE» или даже «A» будет содержать «lfred» в результатах.

Необходимо учитывать другие преобразования, такие как ê -> e, å -> a.

Я использую ASP.NET с SQL-сервером.Существуют ли какие-либо стандартные библиотеки, которые помогают с таким поиском?

1 Ответ

1 голос
/ 19 октября 2010

Не всегда есть английский символ, эквивалентный неанглийскому символу, но можно попытаться сохранить строку Normalized в другом поле, используя string.Normalize и сравнивая с этим.

Поля MS SQL и каталоги полнотекстового поиска могут быть нечувствительными к акценту и нечувствительны к регистру, поэтому вы рассмотрели другие случаи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...