プロが教えるわが家の防犯対策術!

日本語が
\351\201\251\343\201\252\345\256\244\345\206\205
のような表示に化けてしまいます。これはあるサイトのページ内の日本語です。\はバックスペースです。
この化けの原因が言語に依存しているのかOSの問題なのか、不明ですが,
現象としては,httpでサイトにアクセスするRubyのメソッドである
Net::HTTPを使って,あるサイトから
日本語文字列を取得したところ,上のような表記になってしまいます。
このサイトからLinuxコマンドのwgetで直接アクセスするとちゃんと日本語で返ってきますが,Rubyで,
resp = Net::HTTP.new("サイトアドレス").get("パス")とやって,
resp.bodyをprintしてみると上記のように\で化けます。
正常に読める日本語にするにはどうすればいいのでしょうか?

A 回答 (2件)

文字コードを変換する必要があると思います。


下記に詳しい解説がありますので参考にして下さい。

http://jp.rubyist.net/magazine/?0009-BundledLibr …
    • good
    • 0
この回答へのお礼

文字コードをどのように変換してもだめですねぇ。

p "\203\225\343\203\251\343".toutf8
p "\203\225\343\203\251\343".toeuc
p "\203\225\343\203\251\343".tosjis
p "\203\225\343\203\251\343".tojis

の結果は

"\343\203\265\347\271\235\343\202\245"
"\245\365\345\343\245\245"
"\203\225\343\203\203D"
"\e$B%uec%%\e(B"

となりまして。。そもそも\203の[203」というのが判別不能です

お礼日時:2007/12/27 23:58

バックスペース? バックスラッシュだよね?



とりあえずそれは文字コードがおかしいんじゃないかな。
それでそんな表示になってるんだと思うよ
    • good
    • 0
この回答へのお礼

もちろんバックスラッシュの間違いです。
文字コードがおかしいという問題ではないようです。

お礼日時:2007/12/28 00:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!