2

ユーザーテーブル (多くのサイトからの多くのユーザー) からデータをインポートしています:
myisam default collation latin1_swedish....

そのデータをinnodb table utf8_general

組み合わせに一意のキーを配置しましたusername,site_idが、これは同じサイトの 2 人のユーザーで失敗しています:

user 1    dranfog,
user 2    drånfog

私が実行した場合:

SELECT IF('å' = 'a', 'yep', 'nope');

utf8エンコーディングを使用してターゲットデータベースに直接、'yep'.

これを解決するためのヒントは大歓迎です。私は、utf8 がこれらを異なる文字として扱うという印象を持っていましたが、そうではないようです。

4

1 に答える 1

8

で終わる照合順序_ciは、大文字と小文字 (およびアクセント) を区別しません。

照合順序を ' に変更して、とは異なる方法でutf8_binary'処理できます。dranfogdrånfog

于 2011-10-18T14:31:49.970 に答える