こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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';
のように、半角文字だったら正しく返します。

どなたかアドバイスお願いします。

投稿日時 - 2009-01-20 15:30:53

QNo.4645794

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

文字コードを、日本語を使えるように設定されていませんね。

少なくとも、次の4項目は、latin1では日本を使えません。

character_set_client:latin1
character_set_connection:latin1
character_set_database:latin1
character_set_server:latin1

投稿日時 - 2009-01-20 16:51:04

お礼

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

投稿日時 - 2009-01-21 16:25:16

ANo.1

文字コードは何ですか?

SQLを入力できる状態で、次の命令を実行してみてください。

show variables like '%char%'

投稿日時 - 2009-01-20 15:46:41

補足

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

と返ってきました。

投稿日時 - 2009-01-20 16:17:11

あなたにオススメの質問