Ответ 1
Я не знаю словацкий, извините. Но словацкая сортировка utf8_slovak_ci
относится к словацкой букве č
в отличие от c
. (Должны ли фамилии, начинающиеся с Č, начинаться с C в ваших телефонных каталогах? Вероятно, они делают. Создатели MySQL, безусловно, думают, что они это делают.)
Сортировка utf8_general_ci
рассматривает č
и c
то же самое. Здесь скрипка sql демонстрирует все это. http://sqlfiddle.com/#!9/46c0e/1/0
Если вы измените сортировку столбца, содержащего ваше имя продукта, на utf8_general_ci
, вы получите более удобную для поиска таблицу. Предположим, что ваша таблица называется product
, а столбец с именем в ней называется product_name
. Затем этот оператор определения данных SQL преобразует столбец по мере необходимости. Вы должны посмотреть фактический тип данных столбца, а не использовать varchar(nnn)
, как я сделал в этом примере.
alter table product modify product_name varchar(nnn) collate utf8_general_ci
Если вы не можете изменить таблицу, вы можете изменить предложение WHERE, чтобы работать так, указав явно сопоставление.
WHERE 'userInput' COLLATE utf8_general_ci = product_name
Но это будет медленнее искать, чем изменение сортировки столбцов.