Символьные данные MySql

У меня есть база данных, содержащая испанские символы. для заполнения базы данных я получаю значения с клиентской страницы с кодировкой символов = UTF-8. когда я вставляю значения в базу данных mySql, строки содержат измененные данные. например, если я вставляю «México», запись в базе данных «MÃ © xico». это имеет значение, когда я делаю запрос в таблице с указанием «México», я не получаю никаких результатов. мой вопрос в том, как вы вставляете испанский или другой латинский акцент в базу данных mysql? i hav пробовал все сопоставления, htmlentities () и т. д., но ничего не работает !! при выполнении запроса mysql я проверял, какие данные отправляются, и находится в правильной форме «México», но когда я вижу запись в таблице через phpmyadmin, ее изменили !!

Измените кодировку базы данных mysql / table / column на UTF-8 (а также установите сопоставление в совместимое значение).

ALTER TABLE mytable CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE mytable MODIFY country CHAR(50) CHARACTER SET utf8 COLLATE utf8_general_ci; 

Также указывайте char, установленный на стороне PHP при подключении.

 mysql_set_charset('utf8',$conn); 

Взгляните на эту статью для получения дополнительной информации и скрипта для пакетной замены каждой таблицы / столбца в базе данных.

Сначала проверьте две вещи:

  • Вы вставляете данные как UTF-8? Если данные поступают с веб-страницы, убедитесь, что для кодировки страницы установлено значение UTF-8 (метатег кодирования задан в заголовке страницы).
  • Вы уверены, что данные не сохранены как Unicode? Это обратная ситуация: если phpMyAdmin использует что-то другое, кроме UTF-8, вы увидите искаженные символы, когда отобразит содержимое.