2009-08-05 12 views
27

phpMyAdminで新しいMySQLデータベースを作成する場合、照合順序を選択するオプションがあります(デフォルト、armscii8、ascii、...、UTF-8など)。私が知っているのは、UTF-8です。なぜなら、私はHTMLソースコードでこれを常に見ているからです。しかし、デフォルトの照合は何ですか?これらの選択肢の違いは何ですか?また、どちらを使うべきですか?MySQLでは、どの照合順序を選択する必要がありますか?

+0

もっと正確にするには、utf8_unicode_ciを使用してください。 http://stackoverflow.com/questions/367711/what-is-the-best-collat​​ion-to-use-for-mysql-with-php –

+0

unicode_general_ciは、ワードプレスコーデックス(https:// codex)にお勧めします。 wordpress.org/Installing_WordPress – stare

答えて

15

照合は実際にはデフォルトではなく、デフォルト照合を最初の選択肢として使用しています。

私たちが話しているのは、collation、またはデータベースがそのテキストタイプで使用する文字セットです。あなたのデフォルトオプションは、通常、地域の設定に基づいているので、グローバル化を計画していない限り、それは通常peachy-keenです。

照合でも、大文字と小文字の区別が決定されます(つまり、「大」=「大」ですか?CIの場合)。すべてのオプションについては、MySQL listをご覧ください。

+0

UTF-8はどうですか?私はUTF - 8を使用してワードプレスを見た?私はUTF-8を使うべきですか? – bbtang

+0

UTF-8はUnicodeです。あなたが英語圏の国にいないなら、それを使うのはとても良い賭けです。 – Eric

+4

私は参照してください。私たちのプロジェクトは米国と世界中をターゲットにしているので、私はUTF-8を使う方がいいと思います。 – bbtang

21

照合は、データベースに文字列照合とソートの実行方法を指示します。あなたのキャラクタセットと一致するはずです。

UTF-8を使用する場合、照合順序はutf8_general_ciである必要があります。これはUnicode順(大文字小文字を区別しない)でソートされ、ほとんどの言語で動作します。また、ASCIIおよびLatin1の順序を保持します。

デフォルトの照合順序は通常latin1です。

+2

utf8照合を使用しないでください。それらは、最大3バイトのコードポイントしか格納しません。正しいUTF-8はutf8mb4と呼ばれ、最大4バイトを許可し、したがってemojisを含みます。 https://mathiasbynens.be/notes/mysql-utf8mb4 – user1318499

+0

@ user1318499あなたのコメントを回答に変換して詳細を伝えることはできますか? –

+0

私は今、そのことの大半を忘れてしまったので、私はもっと自信を持って書くつもりはありませんが、あなた自身の答えにそれを作りたいと思ったら、すべての情報が私のコメントのリンクになければなりません。 – user1318499

関連する問題