締切り済みの質問
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
3人が「このQ&Aが役に立った」と投票しています
回答(2件中 1~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
文字コードは何ですか?
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
OKWaveのオススメ
おすすめリンク