utf8_binを使用することをお勧めします なぜなら、UTF-8では不可能ですが、一般的なケースでは、理論的には(UTF-16で発生するように)同じで可能であるためです。 異なるで表される文字列 バイナリ比較では理解できませんが、バイナリ照合では理解できるエンコーディング。 ユニコード文字セット
に記載されているとおり :
したがって、これらの列を含む比較が常に 大文字と小文字を区別するために、列の照合をutf8_binに設定する必要があります (クエリで別の方法で指定するのを忘れた場合でも、大文字と小文字が区別されるようにします)。または、特定のクエリで大文字と小文字が区別される場合は、utf8_binを指定できます。 照合は、COLLATEを使用して使用する必要があります キーワード:
SELECT * FROM table WHERE id = 'iSZ6fX' COLLATE utf8_bin