Советы по миграции MySQL UTF / Unicode

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

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

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

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
4
0
1 052
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Ответ принят как подходящий

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

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

Your CHAR and VARCHAR columns 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 работать не будет.

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