Изменение сортировки столбцов - это безопасно? - PullRequest
2 голосов
/ 08 сентября 2011

В моей системе заявок есть таблица с 15 000 записей, каждая из которых содержит электронное письмо, которое было преобразовано в сообщение для добавления в заявку.

Наша текущая проблема связана с сопоставлением - когда я получил свойруки в системе он использовал latin1_swedish_ci.Однако в системе используется несколько европейских языков, и по этой причине нам необходимо правильно хранить символы, не входящие в ASCII.

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

Поэтому мне нужно знатьесли это будет безопасно, чтобы сделать это изменение в моей таблице / столбце в действующей системе.Это займет много времени (PHPMyAdmin довольно ужасен, когда вы пытаетесь заставить его работать очень тяжело), ​​или он повредит любые существующие данные?

1 Ответ

6 голосов
/ 08 сентября 2011

Безопасно преобразовывать одну кодировку в другую, когда все символы из первой кодировки представимы во второй кодировке.

Это относится к латинице от 1 до utf8: это безопасно.

Однако вы должны убедиться, что само приложение может обрабатывать данные utf8.

On utf8_bin: часть utf8 - это кодировка (как кодируются символы), а часть bin - это сопоставление. Не используйте bin , он сделает все чувствительным к регистру , что, вероятно, не то, что вы ожидаете. Попробуйте вместо этого utf8_unicode_ci. (См. http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-sets.html)

...