在某些情况下,当我使用open
Ruby 获取网页时,页面内容存在编码错误。例子:
open("http://www.google.com.br").read
像ç
和ã
被替换的字符?
我怎样才能得到正确的字符?
在某些情况下,当我使用open
Ruby 获取网页时,页面内容存在编码错误。例子:
open("http://www.google.com.br").read
像ç
和ã
被替换的字符?
我怎样才能得到正确的字符?
这似乎有效:
require 'iconv'
i = Iconv.new('UTF-8','LATIN1')
i.iconv(open('http://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 字符。
希望有帮助。