phpMyAdminを使用して新しいMySQLデータベースを作成する場合、照合を選択するオプションがあります(たとえば、デフォルト、armscii8、ascii、...、UTF-8)。私が知っているのはUTF-8です。これは、常にHTMLソースコードで表示されるためです。しかし、デフォルトの照合は何ですか?これらの選択肢の違いは何ですか?どちらを使用すればよいですか?
3 に答える
照合は、文字列の照合と並べ替えを実行する方法をデータベースに指示します。文字セットと一致する必要があります。
UTF-8を使用する場合、照合はになりますutf8_general_ci
。これはUnicode順にソートされ(大文字と小文字は区別されません)、ほとんどの言語で機能します。また、ASCIIとLatin1の順序も保持されます。
デフォルトの照合は通常latin1
です。
簡単な答え:MySqlとMariaDBで照合を処理するときは、常にutf8mb4
(具体的には)を使用してください。utf8mb4_unicode_ci
長い答え:
MySQLのutf8エンコーディングは、適切なUTF-8エンコーディングとは異なるため、厄介な名前が付けられています。Unicodeを完全にサポートしていないため、データの損失やセキュリティの脆弱性が発生する可能性があります。
幸い、MySQL 5.5.3(2010年初頭にリリース)は、適切なUTF-8にマップし、Unicodeを完全にサポートするutf8mb4と呼ばれる新しいエンコーディングを導入しました。
ここで全文を読んでください:https ://mathiasbynens.be/notes/mysql-utf8mb4
どちらutf8mb
を選択するかについては、utf8mb4_unicode_ci
パフォーマンスの欠点を最小限に抑えて、並べ替えが常に適切に処理されるようにしてください。詳細はこちらをご覧ください:utf8_general_ciとutf8_unicode_ciの違いは何ですか