ruby on Rails 中从 open-uri 获取的内容中存在编码错误
在某些情况下,当我使用 open
在 Ruby 中获取网页时,页面内容存在编码错误。示例:
open("http://www.google.com.br").read
像 ç
和 ã
这样的字符被 替换?
如何获得正确的字符?
In some cases when I use open
to get a web page in Ruby the content of the page has an encoding error. Example:
open("http://www.google.com.br").read
Chars like ç
and ã
are replaced by ?
How can I get the right chars?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这似乎有效:
this seems to work:
此处运行 Ruby 1.9.2。您的代码生成的 HTML 包含如下文字:
因此,至少在我的工作计算机上(Vista,使用 Windows CMD 控制台),它返回 HTML 转义字符。
另外,据我所知,Ruby 1.9.2“几乎”完全兼容 Unicode,因此我猜测您不应该遇到 UTF-8 问题,除非您的控制台无法处理打印 UTF-8 字符。
希望有帮助。
Running Ruby 1.9.2 here. Your code yields HTML which contains words like this:
So on my work machine at least (Vista, using Windows CMD console), it returns HTML escaped characters.
Also, as far as I know, Ruby 1.9.2 is "almost" fully Unicode compliant, so I am guessing you shouldn't have UTF-8 issues unless your console cannot handle printing UTF-8 characters.
Hope that helps.