Ich benutze die Google Wetter API für ein Widget.Xml Parse Fehler: 'Ungültiges Zeichen'
Alles ist in Ordnung und Dandy, außer dass heute ein Problem aufgetreten ist, das ich nicht lösen kann. Wenn mit diesem Ort genannt:
http://www.google.com/ig/api?weather=dunjkovec,medimurska,croatia&hl=en
ich diesen Fehler:
XML parse error 9 'Invalid character' at line 1, column 169 (byte index 199)
Ich vermute, dass das Problem hier: Nedelišće
Der Codeblock ist diese:
$ Daten ist die con Das Zelt der Werte xml und $ ist leer.
Kann mir jemand helfen? Vielen Dank!
EDIT ----------------------------------
Nach Husseins Post Lesen entdeckte ich, dass Das Problem besteht darin, wie die Datei abgerufen wird.
Ich habe versucht, File_get_contents und cURL. Beide gibt zurück:
das ist die Zeile, die Probleme verursacht. Oder so, dachte ich! Ich probierte diesen html_entity_decode ($ data, ENT_NOQUOTES, 'UTF-8') und es funktionierte nicht, also machte ich eine Entdeckung, ich kann den Inhalt des xml nicht widerhallen, ich kann sie nur print_r und die Ergebnisse sehen die HTML-Quelle! Mit jedem anderen Ort auf der Welt funktioniert es, nur dieser schafft Probleme ... Ich möchte weinen :-(
EDIT 2 -------------------- ------------
Für jeden, den sie interessiert ich das Problem mit diesen Codezeilen nach dem Abrufen der xML-Datei aus dem api festgelegt. die xml
$data = mb_convert_encoding($data, 'UTF-8', mb_detect_encoding($data, 'UTF-8, ISO-8859-1', true));
$data = html_entity_decode($data,ENT_NOQUOTES,'UTF-8');
dann analysieren es funktioniert wie ein Charme Ich markierte Husseins Antwort, weil es mich auf die richtige Spur gebracht hat
Was ist Ihre PHP-Version? – Tomalak
PHP-Version kann ein Problem mit der Codierung sein. Google identifiziert den XML-Code korrekt als UTF-8 in der Kopfzeile, nicht jedoch in der XML-Deklaration. Wie werden Sie die XML-Datei abrufen und speichern, bevor Sie sie laden? Abhängig von der Umgebungseinstellung ist es möglich, dass es implizit zu ISO-8859-1 konvertiert wurde, was beim Laden zu einem ungültigen Zeichenfehler führen würde. –
Herzlichen Glückwunsch! Das ist noch bessere Lösung .. Danke für den Austausch :) – eHussain