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

解決済みの質問

文字化けされたまま格納される?

質問があるのですがよろしくお願いします。

現在、CGIを使ったサイトを持っていおり、そのサイトのデータベースをテキスト形式のものからMySQLに移行したのですが、テキスト形式でデータを保存していた時は大丈夫だったのに、MySQLに保存するようにすると、「表示」のような文字が文字化けしてブラウザに表示されるようになってしまいました。PHPMyAdminで確認すると、文字化けしているところはしているので、データをMySQLに格納する過程で文字化けしているような気がします。

これにはどういった原因が考えられるでしょうか?どなたか解決方法が分かる方ご教授よろしくお願いします。

なお、perlからDBIを経由して、MySQLにアクセスしています。

投稿日時 - 2006-08-27 11:02:08

QNo.2365302

困ってます

質問者が選んだベストアンサー

有名な5c問題ですね。
「表」はshift-jisでは「95 5C」、「5C」は「\」の
ことなので、その後に続く文字がエスケープされて
しまいます。
これを根本的に回避するにはshift-jisを使わない
以外にありません。(mysqlで制御する際にeucなどを
使うのが一般的)

対処方法はいくつかありますので、「shift-jis 5c」
などのキーワードでサーチしてみるとよいでしょう

投稿日時 - 2006-08-27 14:38:34

お礼

回答してくださった方ありがとうございました。
プレースホルダを利用することで無事解決しました。
ありがとうございます。

投稿日時 - 2006-08-29 09:25:50

ANo.2

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

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

回答(2)

ANo.1

MySQLのバージョンは?

バージョン4.1以降なら、MySQLの設定でクライアント、サーバそれぞれの文字コードを設定するようになっています。その設定は、文字化けしない指定になっていますか?

MySQL Command Line Clientを起動できるなら、起動後に「status」というコマンドを入力してみてください。
現在、有効になっている文字コード等が表示されます。

投稿日時 - 2006-08-27 12:26:33

あなたにオススメの質問