По умолчанию MySQL предполагает, что клиент использует набор символов latin1
.Если вы используете UTF-8 в своих PHP-скриптах, то это предположение неверно.Вы должны указать MySQL, что вы используете UTF-8, выполнив этот оператор SQL сразу после открытия соединения с базой данных:
SET NAMES utf8
Тогда данные, вставленные следующими операторами SQL, будут использовать правильный символзадавать.Это означает, что вам нужно заново вставить ваши данные или выполнить процедуру преобразования MySQL (см. Последние абзацы).
Рекомендуется, чтобы ваши таблицы были настроены для хранения данных в UTF-8, чтобы избежать ненужных преобразований набора символов для чтения / записи.Это не требуется, однако.
Более подробная информация доступна в документации MySQL .В частности, Наборы символов соединения и сопоставления .