utf16またはutf32?多くの言語でコンテンツを保存しようとしています。一部の言語は倍幅フォントを使用します(たとえば、日本語フォントは英語フォントの2倍の幅であることがよくあります)。どの種類のデータベースを使用すべきかわかりません。これらの4つの文字セットの違いに関する情報...
2 に答える
MySQLutf32
とutf8mb4
(および標準のUTF-8)は、Unicodeで指定された任意の文字を直接格納できます。前者は1文字あたり4バイトの固定サイズですが、後者は1文字あたり1〜4バイトです。
utf8mb3
オリジナルutf8
は、CJVK(中国語、日本語、ベトナム、韓国語)をカバーする最初の65,536コードポイントのみを格納でき、1文字あたり1〜3バイトを使用します。
utf16
最初の65,536コードポイントに2バイトを使用し、それ以外のすべてに4バイトを使用します。
フォントに関しては、それは厳密に視覚的なものです。
「絶対最小すべてのソフトウェア開発者は絶対に、積極的にUnicodeと文字セットについて知っている必要があります(言い訳はありません!)」
Unicodeサポートについては、MySQLのドキュメントも参照してください。
utf8mb4
一番です。
utf8mb4
utf8の1文字あたり3バイトと比較して、1文字あたり4バイトをサポートするため、エラーなしで幅広い用途に対応できます。
utf8mb4
たとえば、絵文字をサポートできます。サポートされていない文字セットに絵文字を挿入しようとすると、エラーが発生します。
utf8mb4
は2のより新しいバージョンであり、最終的には古いバージョンに置き換わります。