2016-03-22 9 views
2

私は等号の左側はスペイン語で、他の側は英語ですはスペイン等しい英語を設定mysqlのですか?

select 'Conceição do Almeida'='Conceicao do Almeida'; 

このコマンドを実行します。

しかし、結果として1が返されます。

明らかに、これは2つの文字列とはまったく異なります。道

character_set_client  utf8mb4 
character_set_connection utf8mb4 
character_set_database  utf8 
character_set_filesystem binary 
character_set_results  utf8mb4 
character_set_server  utf8 
character_set_system  utf8 

ではスペイン語、英語等しい?

を設定

実行(Do)mysqlのは、だから私は、エラーをコーディングについては、これを考えていません。

+0

比較は、使用する照合によって異なります。 –

+0

Nitpick:「英語」ではなく、アクセントのない文字、a.k.a.「プレーンASCII」です。 – deceze

答えて

3

比較は、使用する照合によって異なります。

this SQLFiddle exampleを参照してください。

したがって、テーブルの照合順序を変更するか、utf8_binなどの照会で特定の照合順序を使用してください。

+0

文字列の照合またはタイプ(通常またはバイナリ)。バイナリ文字列の場合、バイナリ照合が使用されたかのように、文字ベースではなくバイト単位で比較が行われます。バイナリ演算子でバイナリ文字列を使用するように強制することもできます:http://dev.mysql.com/doc/refman/5.7/en/charset-binary-op.html – Shadow

関連する問題