「\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してみると上記のように\で化けます。
正常に読める日本語にするにはどうすればいいのでしょうか?
文字コードを変換する必要があると思います。
下記に詳しい解説がありますので参考にして下さい。
http://jp.rubyist.net/magazine/?0009-BundledLibr …
この回答へのお礼
文字コードをどのように変換してもだめですねぇ。
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」というのが判別不能です
バックスペース? バックスラッシュだよね?
とりあえずそれは文字コードがおかしいんじゃないかな。
それでそんな表示になってるんだと思うよ
この回答へのお礼
もちろんバックスラッシュの間違いです。
文字コードがおかしいという問題ではないようです。
- 最新から表示
- |
- 回答順に表示











