Преобразование базы данных из одной кодировки символов в другую

0

У меня есть база данных MYSQL. Текст в настоящее время хранится в charset latin1, сопоставление latin1_swedish_ci. Это значения по умолчанию, и это не было проблемой в тот день, когда база данных была изначально создана.

Я хочу перейти на UTF8, чтобы текстовая кодировка в базе данных соответствовала текстовой кодировке, используемой в другом месте на веб-сайте, который использует базу данных.

Мой вопрос в том, какие проблемы я получу при преобразовании данных и что я должен искать, когда я это делаю. Большинство нашего текста вписывается в простой acsii, но, вероятно, есть случайные символы с акцентом...

Я думаю, было бы также разумно просить совета относительно наилучшего способа изменения данных.

Теги:
character-encoding
utf-8
latin1

2 ответа

2
Лучший ответ

Если вы переходите с ASCII на UTF-8, я ожидаю, что помимо некоторых акцентированных символов вы будете в порядке. Возвращение назад - это проблема, по моему опыту.

  • 0
    Так что mysql позаботится обо всех деталях, преобразовав любые акцентированные символы в соответствующую кодировку utf8, оставив мне таблицу правильно закодированных символов utf8?
  • 0
    В теории да. Я перешел из ASCII в UTF на унаследованной базе данных MySQL 4.x, и, похоже, ничего не сломалось.
0

Будьте внимательны, если вы переместите данные в другую таблицу. Если кодирование таблицы будет, например, latin1, и вы случайно поставили там сырой UTF8, это будет боль, чтобы перекодировать его в правильное кодирование (если у вас нет исходных данных).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню