2009-05-31 4 views
0

Wir verwenden NSXMLParser in Objective-C, um unser XML-Dokument zu analysieren, die alle UTF-8-codiert sind. Ein Dokument enthält eine Zeichenfolge "Nestlé" (wie in ...<title>Nestlé Novelties</title>...). Der Parser wurde gerade beendet und meldet einen Fehler mit dem Fehlercode = 9, aufgrund des französischen Buchstabens "e" am Ende des Wortes "Nestle". Außerdem haben wir versucht, mit IE, Chrome, Safari das gleiche Dokument direkt anzuzeigen. Sie haben einen ähnlichen Codierungsfehler gemeldet.Problem mit dem Wort "Nestlé" in einem XML-Dokument (UTF-8-Codierung) mit NXXMLParser. Irgendeine Idee?

Wir verwenden UTF-8 für alle eingehenden XML-Dokumente, was bedeutet, dass alle "<?xml version="1.0" encoding="UTF-8" ?>" als Anfang des Dokuments haben.

Ist dies ein Codierungsproblem? Wenn ja, wie lösen wir das? Welche Kodierung sollten wir für alle unsere XML-Dokumente verwenden? Danke im Voraus!

Barclay

+0

wirklich geheimnisvoll! Können Sie das Dokument auf das kleinste verkleinern, das ein Problem verursacht, und bearbeiten Sie Ihre Frage, um es anzuzeigen (mit der richtigen Formatierung - markieren Sie den XML-Code und klicken Sie auf das Symbol, das wie Nullen und Einsen aussieht). –

+0

Es muss der Name eines internationalen Industriekonglomerats sein, das diese Störung verursacht – krosenvold

+1

Ersetzen durch "Der Hersteller von Nesquik." – Nosredna

Antwort

6

Haben Sie die Datei mit einem Hex-Editor, um zu überprüfen, dass die "é" ist in der Tat UTF-8, 0xC30xA9?

0

In HTML würde ich verwenden Nestl&eacute; Funktioniert das für Ihre Anwendung?

+2

Funktioniert nicht in XML - nur HTML (und XHTML) enthalten das '& eacute;' Entität. –

-1

Etwas, das ich gerade in einer XML-Beispieldatei sah, war, dass eine Zeichenfolge mit benutzerdefinierten Eingaben (die zufälligerweise è-Zeichen enthielten) den Inhalt des enthaltenden Tags in CDATA-Deklarationen umgab. Dies hat zur Folge, dass der Parser die darin enthaltenen Zeichen vollständig ignoriert.

Verwandte Themen