Я работаю над проектом, где мне нужно добавить функции поиска в поля со специальными символами. К сожалению, поля, которые мне нужны для поиска, не были правильно закодированы.Ошибка ввода нечувствительности к регистру: COLLATION 'utf8_general_ci' недопустим для CHARACTER SET 'latin1'
Я хочу найти поле для слова kèku но только ввести слово keku (нет акценты).
Проблема возникает в том, что поля возвращают такие вещи, как Wèmi kèku sapà © lee. вместо Wèmi kéku sapëlee.
Я установил, что, выполнив следующий запрос:
select CONVERT(CAST(CONVERT(text USING latin1) AS BINARY) USING utf8) as 'textlenape'
from samples_lenape where text_english like '%bright%'
Это возвращает текст, я хочу, но когда я хочу сделать это дело нечувствительным путем добавления collate utf8_general_ci
к концу моего запроса, я получаю следующее сообщение об ошибке:
COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'
Если я не сверить результаты запроса, я не могу найти keku потому что я получаю пустой результат задавать. Любые идеи о том, как мне нужно преобразовать это, чтобы иметь возможность делать поиск без учета регистра? Я не хочу изменять данные таблицы, потому что остальная часть сайта предположительно сломается, если я это сделаю.
0 Коментариев: 1 Кодировка для текста: –
Я ударил эту ошибку в прошлом, хотя она была на MSSQL 2005 ... она может вам помочь (извините, если это не так) http://stackoverflow.com/questions/3859085/force-t- sql-query-to-be-case-sensitive-in-ms – Twelfth
Я не вижу нигде в конфигурации этого приложения, что набор символов изменен, поэтому я предполагаю, что это UTF-8. Как я могу проверить? –