1

Nokogiri は nbsp 文字の UTF-8 変換に問題があるようです。これは LibXML2 に関連する問題であることがわかりました。Nokogiri は、Heroku で実行されている 2.7.6 ではなく、LibXML2 を 2.7.7 にアップグレードすることを推奨しています。

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&nbsp;World</p>"
=> "<p>Hello&nbsp;World</p>"

doc.inner_html
=> "<p>Hello World</p>"

これは関連しているようです: https://github.com/sparklemotion/nokogiri/issues/306

これは、ローカル マシンでは発生しません。Rails には 'utf-8' が設定されてconfig.encodingおり、レンダリングされるページには utf-8 charset メタ タグがあります。

私のローカル マシンでは Nokogiri 1.6 と limxml2 2.8.0 を実行しており、Heroku では Nokogiri 1.6 と libxml2 2.7.6 を実行しています。

ありがとう。

4

1 に答える 1