0

こんにちは私はDBで探している私のウェブで検索しようとしています

CHARACTER SET utf8 COLLATE utf8_slovak_ci

テーブルもutf8_slovak_ciです。knihy(本)というテーブルには、フィールドAutor1 Autor2 Autor 3 Autor4 /Author1などがあります。検索に使用しているクエリは次のとおりです。

$q = $this->db->query("SELECT * FROM (`knihy`) 
              WHERE `stav` = 1 
              AND (Autor1 LIKE '$vyraz' 
              OR Autor2 LIKE '$vyraz' 
              OR Autor3 LIKE '$vyraz' 
              OR Autor4 LIKE '$vyraz') 
              ORDER BY `id` desc LIMIT $limit OFFSET $offset ");

「Šilíoá」を探している場合は、Autor1 / Author1 /という名前の「Šilíoá」という名前の本がテーブルにあるとします。「Šilioa」を探している場合は、「Šilioa」を探している場合も見つかります。 silioa」何も見つかりません。それで、問題は文字「Š」と「š」にあります。どうすればこの問題を修正できますか?インターネットでたくさんのチュートリアルを見つけましたが、それでも機能しません...

4

1 に答える 1

2

テーブル文字セットをutf8に設定し、照合をutf8_general_ciまたはutf8_unicode_ciに設定することで修正できます。また、コード(接続文字列)でcharsetをutf8に設定する必要があります。

接続文字列の例:

string cs = @ "server = localhost(またはIPアドレス); userid = root; password = xxx; database = table_name; charset = utf8";

于 2012-09-14T14:11:44.407 に答える