1

チュートリアル ビデオを複数の異なる言語で保存する Web サイトを作成しています。主な聴衆は英語ですが、スウェーデン語/ノルウェー語のアクセント/文字とともに、フランス語のアクセントがユーザー名/パスワードに使用されることを期待しています.

チュートリアル ビデオの言語は、中国語 (広東語/標準中国語)、ウルドゥー語/ヒンディー語、ペルシア語/ダリ語、およびアラビア語でも提供されます。最近のいくつかは、特にオンラインで登録するために、ネット用に標準の qwerty キーボードを使用していると確信していますが、ヨーロッパのキーボードにはさまざまなものがあり、いくつかのアクセントと合字があることは知っています。

ユーザー名と電子メール アドレスの保存に関して mysql に関する限り、最も可能性の高いエントリをサポートするのに最適な照合タイプはどれでしょうか? おそらくすべてを網羅することはできないことは承知していますが、できるだけ多くのことをしたいと考えています。

uft8_general_ci の方が優れていると読みましたが、これらのスカンジナビア文字をサポートしようとしている場合、latin_1 swedish_ci とどのように異なるのでしょうか?

編集: user_id フィールドと email フィールドは一意になるため、fred@home.com は fréd@home.com と同じではありません。

4

2 に答える 2

1

ここでは、照合はデータの保存にはほとんど関係ありません。比較とソートのルールのみを指定します。必要なのは、正しい文字セットですutf8。MySQL のバージョンが >= 5.5 の場合、utf8mb4またはutf16を使用する必要があります。どちらも Unicode 全体をカバーします (MySQLutf8は実際の UTF-8 の限定されたサブセットであり、BMP のみをカバーします)。文字セットでは、定義されているlatin1256 文字に制限されます。

類似したエントリが同じものとして表示されるのを避けたい場合は、適切な_bin照合を使用してください。

于 2013-09-12T15:08:36.290 に答える
0

を使用せずutf8_general_ci、代わりに使用utf8_unicode_ciします。並べ替えと比較のサポートがはるかに優れており、utf8_unicode_ci他の複数の照合タイプに派生させることができます。たとえばutf8_swedish_ci、正しいスウェーデン語の並べ替えと比較を取得できます。

短所は、 よりもやや遅いことutf8_general_ciですが、IMO の方がはるかに多く得られます。

于 2013-09-12T14:31:34.963 に答える