plik: http://kanaly.rss.interia.pl/turystyka.xml
problem: kodowanie pliku to UTF-8, ale znalazły się w nim słowackie znaki które w UTF już niestety nie są.
Do tej pory używałem:
$rssObject = simplexml_load_string( $address, 'SimpleXMLElement', LIBXML_NOCDATA );
Co dało błędy:
Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : Start tag expected, '<' not found in Warning: simplexml_load_string() [function.simplexml-load-string]: http://kanaly.rss.interia.pl/turystyka.xml in Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in
Więc spróbowałem:
$xmlDoc = new DOMDocument(); $xmlDoc->load( $address );
No i błąd:
Warning: DOMDocument::load() [function.DOMDocument-load]: Input is not proper UTF-8, indicate encoding ! Bytes: 0xB9 0x69 0x6E 0x73 in http://kanaly.rss.interia.pl/turystyka.xml, line: 94 in
Błąd ominąłem w simplexml_load_string:
$content = mb_convert_encoding( $content, 'UTF-8', mb_detect_encoding($content, 'UTF-8, ISO-8859-1', true)); //lub $content = iconv( mb_detect_encoding($content, 'UTF-8, ISO-8859-1', true), 'UTF-8', $content ); //efekt ten sam if ($rssObject = simplexml_load_string( $content, 'SimpleXMLElement', LIBXML_NOCDATA ) ){ // ... }
i otrzymałem
?šwiÄ?ta Bo??ego Narodzenia we W??oszech sÄ? obchodzone na wiele r??nych sposob??w
Czy ktoś ma większe doświadczenie w kodowaniach? Zależy mi na tym aby tekst był czytelny, słowackie znaki mogą być wykrzaczone. Wszelka pomoc mile widziana.