Подтвердить что ты не робот

Utf8_general_ci или utf8mb4 или...?

utf16 или utf32? Я пытаюсь хранить контент на многих языках. Некоторые языки используют двухвальные шрифты (например, японские шрифты часто в два раза шире, чем английские шрифты). Я не уверен, какую базу данных я должен использовать. Любая информация о различиях между этими четырьмя кодировками...

4b9b3361

Ответ 1

MySQL utf32 и utf8mb4 (а также стандартный UTF-8) могут непосредственно хранить любой символ, указанный в Unicode; первый имеет фиксированный размер в 4 байта на символ, тогда как последний составляет от 1 до 4 байтов на символ.

utf8mb3, а исходный utf8 может хранить только первые 65 536 кодовых точек, которые будут охватывать CJVK (китайский, японский, Вьетнамский, корейский) и использовать от 1 до 3 байтов на символ.

utf16 использует 2 байта для первых 65 536 кодовых точек и 4 байта для всего остального.

Что касается шрифтов, это строго визуальная вещь.

"Абсолютный минимум Каждый разработчик программного обеспечения Абсолютно, положительно должен знать о Unicode и наборах символов (без отговорок!)"

См. также Документация по MySQL для поддержки Unicode.