Top.Mail.Ru
Ответы

Какую кодировку лучше использовать в MariaDB (MySQL)?

utf8_general_ci
utf8_unicode_ci
utf8mb4_general_ci
utf8mb4_unicode_ci

По дате
По рейтингу
Аватар пользователя
andrei_6534Гений
4г

utf8mb4_general_ci - если требуется микроскопически более быстрая сортировка (упрощённые правила сортировки и сравнения).
utf8mb4_unicode_ci - если требуется правильная сортировка во всех языках, которые поддерживает Unicode (правила сортировки и сравнения, прописанные в стандарте Unicode).

utf8_general_ci и utf8_unicode_ci устарели много лет назад - они позволяют записывать символы только нулевой (главной) плоскости Unicode. Т. е. только символы с кодами 0x0000-0xFFFF. Тогда как, например, подавляющее большинство эмотиконов имею. т коды более 0x10000.

Аватар пользователя
andrei_sitnikov_31Просветленный
4г

А чем utf8 отличается от utf8mb4?

Аватар пользователя
yagami__lightГений
4г

utf8mb4, а general_ci и unicode_ci - это не кодировки, а сравнения (collation). Они определяют, как именно строки сортируются и сравниваются. Если хранишь там в основном тексты на русском и английском, можешь использовать general_ci, т. к. продвинутые правила в таком случае тебе не будут нужны.
utf8mb3 (который называется просто utf8) даже не рассматривай, в таком случае при попытке записи некоторых символов в базу будет ошибка.

Аватар пользователя
andrei_sitnikov_31Просветленный
4г

Значит utf8mb4_unicode_ci самая правильная?

Аватар пользователя
user_35619630Мудрец
4г

MariaDB (MySQL) лучше не использовать и забыть, что такое существует. Но если нужно поднять уютный бложик на вордпрессике с базой в 10 мегабайт, то так и быть используй utf8_general_ci

Аватар пользователя
andrei_sitnikov_31Просветленный
4г

А что тогда лучше использовать вместо MariaDB (MySQL)?

Аватар пользователя
x3zdomidzodМудрец
4г

1



Видео по теме