в чем разница между utf8 и latin1?
mysql
utf-8
installation
latin1
Бинбаш
источник
источник
Ответы:
UTF-8 подготовлен к мировому господству, Latin1 - нет.
Если вы пытаетесь сохранить нелатинские символы, такие как китайский, японский, иврит, русский и т. Д., Используя кодировку Latin1, то они останутся моджибаке . Вы можете найти вводный текст этой статьи полезным (и даже больше, если вы немного знаете Java).
Обратите внимание, что полная поддержка 4-байтового UTF-8 была введена только в MySQL 5.5. До этой версии он занимал до 3 байтов на символ, а не 4 байта на символ. Таким образом, он поддерживал только самолет BMP, а не, например, самолет Emoji. Если вам нужна полная поддержка 4-байтового UTF-8, обновите MySQL до версии не ниже 5.5 или перейдите на другую СУБД, например PostgreSQL. В MySQL 5.5+ это называется
utf8mb4
.источник
VARBINARY
вместоVARCHAR
и самостоятельно декодировать / кодировать на бизнес-уровне, но это взломано. Попробуйте задать новый вопрос, возможно, есть способы получше.В latin1 длина каждого символа составляет ровно один байт. В utf8 символ может состоять из более чем одного байта. Следовательно, utf8 имеет больше символов, чем latin1 (и символы, которые у них есть общие, не обязательно представлены одной и той же байтовой / байтовой последовательностью).
источник
binary
сопоставить ...? и какой из них лучше для английских / числовых полей:ascii_general_ci
илиascii_bin
?