web-dev-qa-db-ja.com

Utf8_general_ciまたはutf8mb4または...?

utf16またはutf32?コンテンツを多くの言語で保存しようとしています。一部の言語では倍幅フォントが使用されます(たとえば、日本語のフォントは英語のフォントの2倍の幅があることがよくあります)。使用するデータベースの種類がわかりません。これらの4つの文字セットの違いに関する情報...

28
Wolfpack'08

MySQLのutf32およびutf8mb4(および標準UTF-8)は、Unicodeで指定された任意の文字を直接格納できます。前者は文字ごとに4バイトの固定サイズですが、後者は文字ごとに1〜4バイトです。

utf8mb3および元のutf8は、CJVK(中国語、日本語、ベトナム語、韓国語)をカバーする最初の65,536コードポイントのみを保存でき、1文字につき1〜3バイトを使用します。

utf16は、最初の65,536コードポイントに2バイトを使用し、その他すべてに4バイトを使用します。

フォントに関しては、それは厳密に視覚的なものです。

「すべてのソフトウェア開発者が絶対的かつ積極的にUnicodeおよび文字セットについて知っておく必要のある絶対最小値(言い訳なし!)」

nicodeサポートのMySQLドキュメント も参照してください。