Наборы символов и / или параметры сортировки, которые вы используете в своем соединении, не совпадают с набором символов / параметрами сортировки в вашей таблице.
Существует 4 решения:
1- Измените кодировку в вашем соединении:
//find out the charset used in your table.
SHOW TABLES LIKE 'student'
//set the server charset to match
SET NAMES 'charset_name' [COLLATE 'collation_name']
2- Измените кодировку, используемую в вашей таблице, для соответствия кодировке сервера:
//find out the charset used in the server
SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';
//Change the charset used in the table
ALTER TABLE student ......
3- Изменить настройки кодировки по умолчанию и перезапустить MySQL
Отредактируйте My.ini и замените параметры character_set_*
, чтобы они соответствовали вашим таблицам.
4- Изменить настройки кодировки для вашего подключения
Ваш клиент может переопределить настройки кодировки и сопоставления.
Если это не вариант 1 или 3, это должно исправить вашу проблему, но если соединение переопределяет эти настройки, вам нужно проверить строку соединения и отредактировать настройки charset / collation, чтобы они соответствовали вашей базе данных.
Несколько советов:
Найти кодировку. Я рекомендую UTF8
и сопоставление: я рекомендую utf8_general_ci
. И используйте их постоянно везде.