UTF-8 aus Datei lesen...
-
Hallo zusammen,
bin am Verzweifeln. Versuche eine UTF-8 gesicherte Textdatei auszulesen. Das klappt eigentlich auch soweit, ganz iO. Allerdings habe ich immer beim ersten Zeichen ein "?" Zeichen. Und ich weiß nicht wo das herkommt. Jemand eine Idee?
Hier der entsprechende Code:char utf8Str[256]; // utf-8 encoded UTF8.CopyInto(utf8Str); int size = MultiByteToWideChar(CP_UTF8, 0, utf8Str, -1, NULL, 0); // convert to wide if(size<=0) return false; WCHAR *unicodeString = new WCHAR[size+1]; size = MultiByteToWideChar(CP_UTF8, 0, utf8Str, -1, unicodeString, size+1); if(size <= 0) return false; size = WideCharToMultiByte(CP_ACP, 0, unicodeString, -1, NULL, 0, NULL, NULL); // convert to mac if(size <= 0) return false; char *ansiString = new char[size+1]; size = WideCharToMultiByte(CP_ACP, 0, unicodeString, -1, ansiString, size+1, NULL, NULL); if(size <= 0) return false;
Im ansiString steht wie schon beschrieben, als erstes Zeichen ein "?" und dann der entsprechende Text aus der Datei.... ??
Danke für Eure Hilfe....
-
Und warum machst Du Dir überhaupt so viele Probleme? Die CRT und MFC kann das von selbst:
http://blog.m-ri.de/index.php/2007/07/03/vc-2005-features-der-crt-fuer-unicode-unterstuetzung/