• 締切済み

SUBSTRING文が日本語認識しない

MySQL初心者です。環境はOS:Linux、MySQLのバージョンは5.0.45 テーブル :friends フィールド:no,name,birth,emailがあるとして nameの中に、あゆみ、直美、純子、秀美など登録されているとします。 ここで、名前「name」の2桁目「美」という文字のデータを表示させてたくて mysql> SELECT * FROM friends WHERE SUBSTRING(name,2,1)='美'; と入力したのですが、Empty set (0.00 sec) と返ってきてしまいます。 例えば、 mysql> SELECT * FROM friends WHERE SUBSTRING(email,2,1)='o'; のように、半角文字だったら正しく返します。 どなたかアドバイスお願いします。

みんなの回答

回答No.2

文字コードを、日本語を使えるように設定されていませんね。 少なくとも、次の4項目は、latin1では日本を使えません。 character_set_client:latin1 character_set_connection:latin1 character_set_database:latin1 character_set_server:latin1

knight-1
質問者

お礼

回答ありがとうございます。 ところで、設定を変えるにはmy.cnfを編集するんだと思うんですけど どこを編集すればいいんでしょうか?

回答No.1

文字コードは何ですか? SQLを入力できる状態で、次の命令を実行してみてください。 show variables like '%char%'

knight-1
質問者

補足

character_set_client:latin1 character_set_connection:latin1 character_set_database:latin1 character_set_filesystem:binary character_set_results:latin1 character_set_server:latin1 character_set_system:utf8 と返ってきました。