utf8 と latin1 の違いは何ですか?
153150 次
2 に答える
173
UTF-8は世界征服に備えていますが、Latin1はそうではありません。
Latin1 エンコーディングを使用して、中国語、日本語、ヘブライ語、ロシア語などの非ラテン文字を保存しようとすると、それらはmojibakeになります。この記事の紹介文は役に立つかもしれません (Java の知識があればなおさらです)。
完全な 4 バイト UTF-8 サポートは、MySQL 5.5 でのみ導入されたことに注意してください。そのバージョンより前は、1 文字あたり 4 バイトではなく、1 文字あたり 3 バイトまでしかありません。そのため、Emoji プレーンなどではなく、BMP プレーンのみをサポートしていました。完全な 4 バイト UTF-8 サポートが必要な場合は、MySQL を少なくとも 5.5 にアップグレードするか、PostgreSQL などの別の RDBMS を使用してください。MySQL 5.5+ ではutf8mb4
.
于 2010-04-25T16:54:47.153 に答える
58
latin1 では、各文字の長さは正確に 1 バイトです。utf8 では、文字は複数のバイトで構成できます。その結果、utf8 には latin1 よりも多くの文字が含まれます (また、共通の文字は必ずしも同じバイト/バイトシーケンスで表されるとは限りません)。
于 2010-04-25T16:42:23.770 に答える