boost::filesystem::path korrekt mit unicode arbeiten
-
Hi Ho,
Ich benutzt boost::filesystem::path für pfad/verzeichnis handling.
Nun ist es so das ich intern alles als Utf8 halte,
und auch immer in utf8 konvertiere.
Wenn ich jetzt aber fs::path eine zeichenkette übergebe,
erwartet es eine Kodierung, die das OS benutzt.
Auf windows also utf16, was einem wchar_t entspricht.TestCase:
QString filename; fs::path mypath = filename.toUtf8().constData(); fs::ofstream out (mypath); out << "this is a test"; out.close();Ich möchte aber nun verhinden das ich überall
#ifdef WIN benutze und immer zu Utf16 konvertiere,
ansonsten utf8 benutze.Gibt es eine Möglichkeit fs::path(und alle anderes fs funktionen) so einzustellen, dass immer ein utf8-String erwartet wird, und intern dann in die OS spezifische kodierung umgewandelt wird.