Explorar o código

Tolère certaines séquences UTF-8 invalides

Corrige https://github.com/marienfressinaud/FreshRSS/issues/419
À re-tester sur d'autres flux
Alkarex %!s(int64=12) %!d(string=hai) anos
pai
achega
f5251384c4
Modificáronse 1 ficheiros con 5 adicións e 0 borrados
  1. 5 0
      lib/SimplePie/SimplePie/Parser.php

+ 5 - 0
lib/SimplePie/SimplePie/Parser.php

@@ -145,10 +145,15 @@ class SimplePie_Parser
 				$dom->loadXML($data);
 				$this->encoding = $encoding = $dom->encoding = 'UTF-8';
 				$data2 = $dom->saveXML();
+				if (function_exists('mb_convert_encoding'))
+				{
+					$data2 = mb_convert_encoding($data2, 'UTF-8', 'UTF-8');
+				}
 				if (strlen($data2) > (strlen($data) / 2.0))
 				{
 					$data = $data2;
 				}
+				unset($data2);
 			}
 			catch (Exception $e)
 			{