PugiXML "Problemchen"
-
Hallo Leute,
ich nutze seit ein paar Tagen PugiXML. Ich lese eine automatisch generierte XML-Datei aus. Das funktioniert auch soweit. Ich habe nur Probleme mit dem Format dieser XML-Datei. Dort kommt zum Beispiel das "ü" drin vor.
Die gesamte Datei ist im Prinzip UTF8, allerdings gibt es für dieses eine Zeichen 2 Byte. Habs mir im Hexeditor angeschaut. Zurück ist also:
Z | 5A
u | 75
r | 72
ü | C3BC
c | 63
k | 6BIch verstehe schon, dass ich als Text dann Zurück bekomme. Allerdings kommem Word und Notepad2 darauf klar. Es muss also eine Möglichkeit geben mir ein ü anzuzeigen obwohl die Datei offensichtlich irgendein Mischformat hat.
Hat jemand eine Idee?
P.S.: Der Export der XML-Datei der SPS kann nicht angepasst werden.
-
MrThorst schrieb:
Die gesamte Datei ist im Prinzip UTF8
Das ist UTF8.
Welches Programm das auch immer anzeigen soll muß eben UTF-8 vestehen.
Oder Du wandelst es vorher in eine andere Kodierung deiner Wahl.
-
Ich kann das bei PugiXML angeben. Er erkennt auch Defaultmäßig UTF-8.
Folgendermaßen sieht mein Code an der stelle aus:const pugi::char_t* pTest = languages.text().get();
char_t ist definiert als typedef PUGIXML_CHAR char_t;
und
#ifdef PUGIXML_WCHAR_MODE
# define PUGIXML_TEXT(t) L ## t
# define PUGIXML_CHAR wchar_t
#else
# define PUGIXML_TEXT(t) t
# define PUGIXML_CHAR char
#endifwobei der wchar_mode nicht aktiv ist.
Muss ich den vielleicht aktivieren?
Wenn ja wie mach ichn das?
-
Was willst Du denn konkret erreichen?
-
Ich möchte, dass das ü auch als ü angzeigt wird und nicht als Kauderweltsch.
Hab aber das Problem gefunden. Es gibt eine PugiXMLConfig.hpp wo man die Widecharacter Option aktivieren kann. Dann gehts.
Jetzt wird ü auch als ü angzeigt. Schon seltsam, dass das nicht standardmäßig aktiviert ist.