• 締切済み

「\351\201\251\343」のような表示に文字が化ける

日本語が \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してみると上記のように\で化けます。 正常に読める日本語にするにはどうすればいいのでしょうか?

みんなの回答

  • venzou
  • ベストアンサー率71% (311/435)
回答No.2

文字コードを変換する必要があると思います。 下記に詳しい解説がありますので参考にして下さい。 http://jp.rubyist.net/magazine/?0009-BundledLibraries

ganwan2007
質問者

お礼

文字コードをどのように変換してもだめですねぇ。 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」というのが判別不能です

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

バックスペース? バックスラッシュだよね? とりあえずそれは文字コードがおかしいんじゃないかな。 それでそんな表示になってるんだと思うよ

ganwan2007
質問者

お礼

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

関連するQ&A