sql >> データベース >  >> RDS >> Mysql

未知の言語の多言語データを保存するためのMySQL照合

    Unicode照合を使用する必要があります。デフォルトでは、システムまたはテーブルの各フィールドに設定できます。次のUnicode照合名があり、これが違いです。

    utf8_general_ciは非常に単純な照合です。ただ-すべてのアクセントを削除します-次に大文字に変換し、この種の「ベースレター」結果レターのコードを使用して比較します。

    utf8_unicode_ciは、デフォルトのUnicode照合要素テーブルを使用します。

    主な違いは次のとおりです。

    1. utf8_unicode_ciは、いわゆる拡張と合字をサポートします。たとえば、ドイツ語の文字ß(U + 00DF LETTER SHARP S)は「ss」の近くにソートされます。文字Œ(U + 0152 LATIN CAPITAL LIGATURE OE)は「OE」の近くにソートされます。

    utf8_general_ciは展開/合字をサポートしていません。これらすべての文字を単一の文字として、場合によっては間違った順序で並べ替えます。

    1. utf8_unicode_ciは一般的に すべてのスクリプトでより正確になります。たとえば、キリル文字ブロックの場合:utf8_unicode_ciは、ロシア語、ブルガリア語、ベラルーシ語、マケドニア語、セルビア語、ウクライナ語のすべての言語に適しています。 utf8_general_ciは、ロシア語とブルガリア語のキリル文字のサブセットにのみ問題ありません。ベラルーシ語、マケドニア語、セルビア語、ウクライナ語で使用される余分な文字は適切に分類されていません。

    +/- utf8_unicode_ciの欠点は、utf8_general_ciよりも少し遅いことです。

    したがって、使用する特定の言語/文字を知っているかどうかに応じて、より十分なカバレッジを持つutf8_unicode_ciを使用することをお勧めします。



    1. Bがうまくいかない場合は、Aをロールバックします。スプリングブーツ、jdbctemplate

    2. 致命的なエラー:PHP5.4.22およびMySQL5.5をApache2.4.7に接続しているときに、未定義の関数mysqli_connect()を呼び出します...

    3. MySQLWorkbenchを使用したMySQLデータベースのリバースエンジニアリング

    4. Ubuntu 10.10(Maverick)でMySQLリレーショナルデータベースを使用する