MySQL запрос для обработки закодированных символов с использованием регулярных выражений - PullRequest
1 голос
/ 26 апреля 2009

Моя проблема заключается в поиске в таблице MySQL списка подходящих названий городов по заданной начальной строке поиска с целью обработки специальных символов, таких как & ouml; и т. Д., Которые закодированы с помощью html-сущности (& ouml;).

Пример:

Существует таблица под названием «города». Столбец с названием города называется «название». Есть два города: Гамберг (номер 1) и H auml; meenlinna (номер 2), которые хранятся как H ¨ meenlinna.

Кто-то ищет, используя строку «Хэм». Стандартный запрос, такой как

SELECT id, name FROM cities WHERE name LIKE '%Ham' 

вернет только первый.

У меня есть регулярное выражение, которое анализирует символ из сущности, но оно реализовано в PHP и приведено ниже для полноты.

preg_replace("/&(.).*;/", '$1', $city_name);

Есть ли запрос для включения большинства одиночных символов, имеющих сущности?

1 Ответ

1 голос
/ 26 апреля 2009

Вы не должны использовать ссылки на символы HTML в базе данных. Вместо этого вам следует выбрать правильную кодировку и сопоставление и сохранить данные в виде простого текста.

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