質問: Java ServletとMySQLを使ってWebアプリを作成しています。 like '%~%'を使って全文検索を行おうとしたのですが、 ローカルのTomcat 5.5.17とMySQL 5.0.45では正常に動作するものの、 レンタルサーバ上(www.hostjava.netのPrivate Tomcatコースです)で動かすと、 2バイト文字の検索で結果が返ってきません。1バイト文字は正常です。 (環境はTomcat 5.5.26+MySQL 5.0.22) また、同じSQL文をサーバ上のphpMyAdminで実行すると、きちんと結果が返ってきます。 MySQLの文字セットはutf8、接続照合順序はutf8_general_ciです。 このような場合、どのように対処すれば良いでしょうか? 下記の事は試したのですが、だめでした。 ・likeの後にbinaryを付けてみる ・サーブレットにrequest.setCharacterEncoding("UTF-8")を追加 ・SQLを直接javaファイルの中に記述する (フォームからの文字列受け取りの段階で失敗してるのではないか?と思ったため)
回答: 文字コードを指定するしかないですが、もっと他のセット法もあると思います。