検索と順序付けにアクセントに依存しない照合を使用しようとしました。
http://dev.mysql.com/doc /refman/5.0/en/charset-collation-implementations.html
重要なのは、あなたのNAME
列はlatin1(8ビット)文字セットで格納されているようです。そのため、mySQLは次のように不平を言っています:
COLLATION 'utf8_general_ci' is not valid for CHARACTER SET 'latin1'
試してみると、思い通りの結果が得られるかもしれません
WHERE CONVERT(p.NAME USING utf8) LIKE _utf8 '%jose%' COLLATE utf8_general_ci;
ただし、注意してください!
WHEREステートメントの列で任意の種類の関数(この例ではCONVERT)を使用すると、MySQLがインデックスを使用して検索を最適化しようとする試みを無効にします。このプロジェクトが大きくなる場合(つまり、テーブルに多数の行がある場合)、データをlatin1ではなくutf8形式で保存する必要があります。 (おそらく、LIKE '%whatever%'
検索用語もMySQLのインデックス作成を無効にします。)