Есть ли у кого-нибудь какие-либо советы или моменты, на которые следует обратить внимание при попытке перенести таблицы MySQL из шведских кодировок по умолчанию или кодировок ascii без учета регистра в utf-8? Некоторые из проектов, в которых я участвую, стремятся к лучшей интернационализации, и база данных станет важной частью этого изменения.
Прежде чем мы приступим к изменению базы данных, мы собираемся преобразовать каждый сайт для использования кодировки символов UTF-8 (от наименее критичной до наиболее важной), чтобы гарантировать, что весь ввод / вывод использует один и тот же набор символов.
Спасибо за любую помощь






Я собираюсь просмотреть следующие сайты / статьи, чтобы найти ответ.
Часто задаваемые вопросы по UTF-8 и Unicode
Эпизод Hanselminutes "Разбор интернационализации с Майклом Капланом"
И я также только что нашел очень по теме сообщение Дерека Сиверса @ O'Reilly ONLamp Blog, когда я писал это. Преобразование данных MySQL в latin1 в utf8 utf-8
Некоторые подсказки:
CHAR и VARCHAR будут использовать до 3 раз больше дискового пространства. (Вы, вероятно, не получите много места на диске для шведских слов.)SET NAMES utf8 перед чтением или записью в базу данных. Если вы этого не сделаете, вы получите частично искаженные символы.Your
CHARandVARCHARcolumns will use up to 3 times more disk space.
Только если они заполнены латинскими буквами 1 с порядковыми номерами> 128. В противном случае увеличенное использование пространства UTF-8 будет минимальным.
Сопоставления не всегда благоприятны. Вы получите умлаты, сопоставленные с версиями без умлат, что не всегда правильно. Возможно, захочется использовать w / utf8_bin, но тогда все также чувствительно к регистру.
Остерегайтесь ограничений длины индекса. Если таблица структурирована, скажите:
varchar (255) b varchar (255) ключ ('а', 'б')
Вы собираетесь превысить ограничение в 1000 байт на длину ключа. 255 + 255 - это нормально, но 255 * 3 + 255 * 3 работать не будет.