mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-11-02 07:34:35 -05:00
* Fix non-ASCII characters in scripts of fetched HTML pages To add a <base> to a fetched HTML page, enforceHtmlBase() re-serialises it with libxml2 saveHTML(). For a whole document, libxml2 2.9 only knows the charset from <meta http-equiv="Content-Type">: with <meta charset="UTF-8"> or a byte order mark, it writes every non-ASCII character as an HTML entity. In text that is harmless, but inside <script> entities are not decoded, so e.g. the JSON read by HTML + XPath + JSON feeds gets "Wall Street’s" instead of "Wall Street’s", which then shows in titles. UTF-8 documents are now serialised node by node, which writes UTF-8. Other charsets keep the previous output. * Clarify comment about the byte order mark * Remove comment about the byte order mark * Minor test syntax preference --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>