Я использую jQuery Autocomplete plugin 1.1 для проекта.jQuery Autocomplete преобразование запроса в нижний регистр
Вот мой код вызова:
$("#txtCombo").autocomplete("http://www.example.com/autocomplete.php", {
autoFill: false,
width: 550,
minChars: 3,
selectFirst: false
});
Проблема заключается в том, что когда-нибудь я типа в автозаполнения, он преобразуется в нижний регистр, когда он достигает PHP файла autocomplete.php
Для например, если я ищу «Smart Boy», php-файл получит «умный мальчик». Это хорошо, потому что, когда я делаю подобный поиск в базе данных для запроса, я получаю все соответствующие результаты независимо от случая с буквой.
Но вот проблема, когда я запускаю этот скрипт для греческих символов, например. когда я ввожу запрос «Μικρές Οικιακές Συσκευές», он преобразуется в «μικρές οικιακές συσκευές». Теперь, когда я использую как запрос, как показано ниже:
"SELECT ID, NAME FROM CATEGORIES WHERE NAME LIKE '%".$query."%'"
я ничего не получаю, так как база данных не проверяет греческие буквы с нечувствительным к регистру поиск.
Я попытался с помощью сортировки ключевых слов, как это:
"SELECT ID, NAME FROM CATEGORIES WHERE NAME LIKE '%".$query."%' COLLATE utf8_general_ci"
Но я получаю эту ошибку: COLLATION 'utf8_general_ci' не является допустимым для CHARACTER SET 'latin1'
Я понимаю, что кодировка из таблиц является latin1, поэтому он не будет работать с настройкой utf8, поэтому, если я попытаюсь использовать настройку latin1_general_ci, это даст мне эту ошибку:
Illegal смесь закусок (utf8_general_ci, неявные) и (latin1_general_ci, EXPLICIT) для работы «как»
Только если я могу остановить автозаполнения путем преобразования запроса в нижний регистр, было бы решить эту проблему довольно много.
Почему плагин конвертирует в нижний регистр в любом случае, когда я не указал такую вещь в параметрах для вызова?
Любые идеи ....