似乎 Nokogiri 对 nbsp 字符的 UTF-8 转换有问题。我收集到这是一个与 LibXML2 相关的问题。Nokogiri 建议将 LibXML2 升级到 2.7.7,而不是在 Heroku 上运行的 2.7.6。
有人知道我如何在 Heroku 上使用 LibXML2 2.7.7(或更高版本)吗?
问题如下——
doc = Nokogiri::HTML("<html><p>Hi Hello</p></html>")
doc.inner_html
=> "<html><body><p>Hi Hello</p></body></html>"
doc.inner_html = "<p>Hello World</p>"
=> "<p>Hello World</p>"
doc.inner_html
=> "<p>Hello World</p>"
看起来这是相关的:https ://github.com/sparklemotion/nokogiri/issues/306
这不会发生在我的本地机器上。Rails 将 'utf-8' 设置为 ,config.encoding
并且呈现的页面具有 utf-8 字符集元标记。
在我的本地机器上,我正在运行带有 limxml2 2.8.0 的 Nokogiri 1.6,在 Heroku 上,我正在运行带有 libxml2 2.7.6 的 Nokogiri 1.6。
谢谢。