TinyXML2 - Encoding
-
Hi,
ich versuche mit TinyXML2 eine XML-Datei einzulesen, die u.A. Umlaute enthällt.
Die erste Zeile der XML-Datei lautet
<?xml version="1.0" encoding="UTF-8"?>
In meinem Programm wird aber (auch im Debugger) aus Ö zB
ö
Wenn ich die XML-Datei im Notepad anzeigen lassen, werden die Umlaute noch richtig dargetellt. Die XML-Datei wurde auch als UTF8 gespeichert.
Als Zeichensatz verwendet das Programm Unicode.
Wie kann ich bei TinyXML2 die Codierung festlegen?
Gruß
-
Sicher dass es kein Problem bezüglich der Ausgabe der Daten (auch im Debugger) gibt ?
Lies die XML einfach mal ein und schreib den Text wieder in eine Datei mit UTF-8 und schau ob der string richtig ist.
-
Hi,
ok, wenn ich den String wieder in eine XML-Datei schreibe steht er richtig drin.
Woran kann das also liegen?
Btw: Ich geb den String in einer wxWidgets Anwendung aus.
Edit: Wenn ich Umlaute direkt ausgebe, werden sie auch richtig angezeigt.
Gruß
-
Ist nur 'ne Frage der Interpretation. Das kleine ö ist in UTF-8 0xC3B6 und erscheint als ISO8859-1/CP1252 gelesen halt als "ö".
-
Hi,
ja, aber wo muss kann ich die Codierung umstellen?
Das Projekt läuft mit Unicode.
Gruß
-
Schwarzefee schrieb:
aber wo muss kann ich die Codierung umstellen?
Ich kenne mich mit wxWidgets nicht aus, aber
http://docs.wxwidgets.org/trunk/overview_string.html schrieb:
wxWidgets can be compiled with
wxUSE_UNICODE_UTF8=1
to use UTF-8.Sicher gibt es da auch noch ein paar Konvertierungsfunktionen die dir helfen können. Guck halt mal in die Doku von wxWidgets oder von deiner OS-API.
Windows bietet z.B.MultiByteToWideChar()
.
-
Hi,
wenn ich in wxWidgets direkt einen Umlaut anzeigen lasse, funktioniert das ja auch.
Nur wenn ich den Text mit TinyXML2 einlese und ausgebe, funktioniert es nicht.
Gruß