Вопрос

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

Прежде чем мы приступим к изменению базы данных, мы собираемся преобразовать каждый сайт для использования кодировки символов UTF-8 (от наименее критической до наиболее важной), чтобы гарантировать, что все входные/выходные данные используют один и тот же набор символов.

Спасибо за любую помощь

Это было полезно?

Решение

Некоторые подсказки:

  • Твой CHAR и VARCHAR столбцы будут использовать в 3 раза больше дискового пространства.(Вероятно, для шведских слов вам не понадобится много места на диске.)
  • Использовать SET NAMES utf8 перед чтением или записью в базу данных.Если вы этого не сделаете, вы получите частично искаженные символы.

Другие советы

Остерегайтесь ограничений длины индекса.Если таблица структурирована, скажем:

VARCHAR (255) B VARCHAR (255) КЛЮЧ ('A', 'B')

Вы преодолеете ограничение в 1000 байт на длину ключей.255+255 — это нормально, но 255*3 + 255*3 не подойдет.

Твой CHAR и VARCHAR столбцы будут использовать в 3 раза больше дискового пространства.

Только если они набиты латиницей-1 с порядковыми номерами > 128.В противном случае увеличение использования пространства UTF-8 будет минимальным.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top