- 締切済み
「\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してみると上記のように\で化けます。 正常に読める日本語にするにはどうすればいいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- venzou
- ベストアンサー率71% (311/435)
回答No.2
文字コードを変換する必要があると思います。 下記に詳しい解説がありますので参考にして下さい。 http://jp.rubyist.net/magazine/?0009-BundledLibraries
- SAYKA
- ベストアンサー率34% (944/2776)
回答No.1
バックスペース? バックスラッシュだよね? とりあえずそれは文字コードがおかしいんじゃないかな。 それでそんな表示になってるんだと思うよ
質問者
お礼
もちろんバックスラッシュの間違いです。 文字コードがおかしいという問題ではないようです。
お礼
文字コードをどのように変換してもだめですねぇ。 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」というのが判別不能です