方法 1:
解決策は、中国語を含むフィールドに「binary」属性を追加してバイナリ比較を行うことです。たとえば、「name char(10)」を「name char(10)binary」に変更します。
方法 2:
ソース コードを使用して MySQL をコンパイルする場合、MySQL のコンパイル時に --with--charset=gbk パラメータを使用できるため、MySQL は中国語の検索と並べ替えを直接サポートします。
方法 3:
Mysql の Locate 関数を使用して判断できます。上記の問題を例に挙げると、使用方法は次のとおりです。
SELECT * FROM table WHERElocate(field,'李') > 0;
方法 4:
Select ステートメントを次のように変更します。 * FROM TABLE WHERE FIELDS LIKE BINARY '%FIND%' can
問題の理由は次のとおりです。MySQL で、中国語の文字をソートおよび検索すると、中国語の文字のソートおよび検索結果が間違っています。この状況は MySQL の多くのバージョンで存在します。この問題が解決されない場合、MySQL は実際に中国語を処理できなくなります。
この問題の理由は次のとおりです。MySQL は文字列のクエリ時に大文字と小文字を区別しません。したがって、通常、比較プロセス中に ISO-8859 文字セットがデフォルトの文字セットとして使用されます。書き込み変換によりこの現象が発生します