open
Ruby で Web ページを取得するときに、ページのコンテンツにエンコード エラーがある場合があります。例:
open("http://www.google.com.br").read
のような文字ç
とã
置き換えられる文字?
どうすれば正しい文字を取得できますか?
open
Ruby で Web ページを取得するときに、ページのコンテンツにエンコード エラーがある場合があります。例:
open("http://www.google.com.br").read
のような文字ç
とã
置き換えられる文字?
どうすれば正しい文字を取得できますか?
ここでRuby 1.9.2を実行しています。あなたのコードは、次のような単語を含む HTML を生成します。
Configura\xE7\xF5es
そのため、少なくとも私の作業マシン (Vista、Windows CMD コンソールを使用) では、HTML エスケープ文字が返されます。
また、私の知る限り、Ruby 1.9.2 は「ほぼ」完全に Unicode に準拠しているため、コンソールが UTF-8 文字の出力を処理できない場合を除き、UTF-8 の問題は発生しないはずです。
それが役立つことを願っています。
これはうまくいくようです:
require 'iconv'
i = Iconv.new('UTF-8','LATIN1')
i.iconv(open('http://google.com.br').read)