CGI::unescapeHTML 问题
CGI::unescapeHTML("渣打银")
=> "渣打\351\223\266"
CGI::unescapeHTML("渣打银 ")
=> “渣打银”
在末尾添加一个空格会有所不同,否则最后一个字符会丢失,我会得到这个奇怪的字符序列。当我尝试使用 utf-8 字符编码从网站上抓取数据时,我遇到了这个问题。即使对于普通的英文文本也是如此。
CGI::unescapeHTML("渣打银")
=> "渣打\351\223\266"
CGI::unescapeHTML("渣打银 ")
=> "渣打银 "
Adding a space at the end makes the difference, else the last character is lost and I get this strange character sequence. I am facing this very issue when I try to scrape data form websites using utf-8 character encoding. This is true even for normal english text.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于 Ruby 1.9.2 及更高版本附带的
CGI
库来说,这不是问题。This is not a problem with the
CGI
library that comes with Ruby 1.9.2 and above.使用 -Ku 运行您的 Ruby 解释器
Run your ruby interpreter with -Ku