0

ユーザーが選んだクロアチア語のアルファベット文字で始まるすべての要素の mysql クエリを作成しようとしています。

通常のラテン文字ではすべて正常に機能します。

私が直面している問題は、S で何かを検索して Š と言うと、S と Š で始まる両方の要素を取得することです。同じことが ČĆC にも当てはまります。

$sql=" SELECT * FROM `default_subjects` where name like '{$keywords}%'";

照合セットは utf8_unicode_ci です。

ありがとう。:)

4

1 に答える 1

1

「S」と「Š」は、照合規則により同じ文字として扱われます。これは、ある程度「あいまいな」検索を可能にするため、通常は良いことです。これを望まず、同一文字だけを同一にしたい場合は、照合をutf8_bin(バイナリ照合) に変更します。これは、いずれかの機能が必要になる頻度に応じて、テーブル/列の一般的な設定として、または必要に応じて各クエリに対して行うことができます。構文については、 http://dev.mysql.com/doc/refman/5.1/en/charset-collat​​e.htmlを参照してください。

于 2012-08-27T14:47:00.220 に答える