- 締切済み
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'; のように、半角文字だったら正しく返します。 どなたかアドバイスお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- chukenkenkou
- ベストアンサー率43% (833/1926)
文字コードを、日本語を使えるように設定されていませんね。 少なくとも、次の4項目は、latin1では日本を使えません。 character_set_client:latin1 character_set_connection:latin1 character_set_database:latin1 character_set_server:latin1
- chukenkenkou
- ベストアンサー率43% (833/1926)
文字コードは何ですか? SQLを入力できる状態で、次の命令を実行してみてください。 show variables like '%char%'
補足
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 と返ってきました。
お礼
回答ありがとうございます。 ところで、設定を変えるにはmy.cnfを編集するんだと思うんですけど どこを編集すればいいんでしょうか?