У меня есть база данных Mysql (в utf8_general_ci), и я должен запрашивать столбцы, содержащие специальные символы. Проблема в том, что запросы, содержащие специальные символы, не получают никаких результатов - но запросы, содержащие обычную версию этих символов, делают.
Например, если я хочу запросить слово «été»:
- SELECT… WHERE столбец LIKE% été% не будет работать.
- ВЫБРАТЬ… ГДЕ столбец LIKE% ete% будет работать!
Эта проблема должна быть из-за моей кодировки (оба запроса работают, когда выполняются непосредственно в phpMyAdmin).
Я использую PDO и следую инструкциям здесь (/227623/utf-8-polnosty) и при подключении к базе данных делаю exec («SET CHARACTER SET utf8») И exec («SET collation_connection = 'utf8_general_ci'»). Что меня беспокоит, так это что, за исключением этого поискового запроса, веб-сайт отлично работает с utf8 как для отображения, так и для базы данных.
Я подумал, что мог бы использовать transiterate_to_ascii для строк, содержащих специальные символы. Однако я боюсь, что этот вариант неоптимален, особенно для неевропейских языков.
Большое спасибо за вашу помощь!