Ich kratze gerade einige Daten aus dem Internet und Konvertieren in XML-Dokumente.PHP und Umgang mit fremden Zeichen für UTF-8 XML
- Dokument geschabt wird, ist utf-8 nach seinen Meta-Tags
Das Problem ist, einige der Daten fremde Zeichen enthalten, ich habe sie in XML/utf-8 Umwandlung nicht einen Weg sicher finden kann freundliche Entitäten, die folgenden Fehler sind, was ich durch das Lesen gefunden habe, ich würde idealerweise eine Lösung mögen, die die ganze Zeit funktionieren würde.
Beispiel 1 funktioniert ordnungsgemäß, Beispiel 2 schlägt fehl. Meine Untersuchung hat das Beispiel 1 korrigiert, aber es scheint keine umfassende Lösung zu sein.
Ich habe es geschafft, das - ô - Parsing korrekt mit der folgenden Funktion auf meinem XPath zu bekommen.
$w->text(charset_decode_utf_8((string)$match->a));
function charset_decode_utf_8($string) {
if(@!ereg("[\200-\237]",$string) && @!ereg("[\241-\377]",$string)) {
return $string;
}
$string = preg_replace("/([\340-\357])([\200-\277])([\200-\277])/e","'&#'.((ord('\\1')-224)*4096 + (ord('\\2')-128)*64 + (ord('\\3')-128)).';'",$string);
$string = preg_replace("/([\300-\337])([\200-\277])/e","'&#'.((ord('\\1')-192)*64+(ord('\\2')-128)).';'",$string);
return $string;
}
ÖFB Stiegl Cup ÖFB Stiegl Cup (wrong)
Leider auf der - Ö - in eine Doppel Einheit umgewandelt wird. Ich habe keine Ahnung, wie man es in eine richtige HTML-Entität umwandeln kann.
Ich habe versucht:
- iso-8859-1-Codierung, wenn mein XML-Dokuments Erstellen
- htmlentities mit utf-8-Codierung
Jede Hilfe wäre sehr dankbar mit, wie Ich reiße mir die Haare aus, um die Dinge richtig zu retten.
Warum verwenden Sie die Zeichen nicht selbst? UTF-8 kann jedes Unicode-Zeichen codieren. – Gumbo
was bedeutet das bitte. Zur Zeit speichere ich mein XML-Dokument, lade es in einen Browser und sehe die Fehler. –
ok versucht, und beim Betrachten ich sehe:
Sie alle falsch aussehen :( –