1

私は utf8_general_ci エンコーディングの mysql テーブルを持っており、主に英語、トルコ語、ペルシア語などのさまざまな言語でデータを保持しています。問題は、SQL ステートメント:

SELECT * FROM `qkw` WHERE `eword` = 'turk' 

結果として「turk & türk」の両方の値を持つ行を返します。

ü と u を同じように扱うインデックス作成にも同じ問題があります。これは Mysql のバグですか、それとも別のエンコーディングを使用する必要がありますか? 助言がありますか?

ありがとう

4

2 に答える 2

1

あなたが見ている効果を含め、さまざまな照合順序がここに文書化されています。

さらに説明すると、次の等式が utf8_general_ci と utf8_unicode_ci の両方で保持されます (これが比較または検索を実行するときの効果については、セクション10.1.7.8「照合の効果の例」を参照してください)。

Ä = A
Ö = O
Ü = U

それが望ましくない場合は、そのリストから、同等とは見なされない照合順序を選択できます。たとえば、utf8_swedish_ci.

于 2013-08-10T08:21:32.137 に答える