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....


  • Mod

    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/


Anmelden zum Antworten