#mysql #encoding #character-encoding
#mysql #кодирование #кодировка символов
Вопрос:
Если я изменю кодировку своей базы данных, таблиц и связанных столбцов с latin1_swedish_ci
(по умолчанию) utf8_general_ci
на отображение европейских и других символов, будет ли это применяться к любым существующим данным или только к новым вставкам?
В настоящее время у меня отображаются имена, Rubén
которые не исправляются даже при изменении кодировки этого столбца на utf8_general_ci
.
Должен ли я повторно импортировать свои данные в базу данных или я могу применить изменения кодировки к существующим данным «на месте»?
Комментарии:
1. Как БД должна знать, что эти символы на самом деле искажены в глазах человека? Все, что он знает, это то, что ему было сказано хранить именно эти символы. Итак, да, вам в основном нужно будет преобразовать их самостоятельно.
2. Это может помочь: mysqlperformanceblog.com/2007/12/18 /…
3. ОК. Я думал, что данные, хранящиеся внутри, могут быть в порядке, но неправильно декодированы.
4. @Andre Пожалуйста, укажите это в качестве ответа, и я приму его. Мои проблемы исправлены. Спасибо!
Ответ №1:
Это может помочь:
UPDATE table SET column=CONVERT(CONVERT(column USING binary) USING utf8) WHERE id=123;
Источник:
http://www.mysqlperformanceblog.com/2007/12/18/fixing-column-encoding-mess-in-mysql /