Wie UTF-8 anzeigen?
-
Ich bekomme von einer Webseite UTF8 codiereten Text?Wie zeige ich den jetzt in meinen Programm an?
-
Wenn dein Programm als UNICODE kompiliert wird, dann ist CString 16-bit UNICODE, mit UTF8 kann CString nicht umgehen. Also nimm MultiByteToWideChar mit CP_UTF8 zum Umwandeln von UTF8 nach UNICODE 16-bit.
-
Und wie mach ich ein LPSTR aus den CString um die Funktion zu nutzen?
-
LPSTR ist MBCS! Dann gehen Dir ein haufen Sonderzeichen in dem UTF-8 String verloren...
Ansonsten CString::GetBuffer liefert einen LPTSTR.
Ansonsten hat CString eine implizite Umwandlung nach LPCTSTR!
-
Aber MultyBytetoWideChar erwartet einen LPCSTR.
-
Martin Richter schrieb:
LPSTR ist MBCS! Dann gehen Dir ein haufen Sonderzeichen in dem UTF-8 String verloren...
Huch?
LPSTR ist doch einfach char*, und MultyBytetoWideChar kann mit UTF-8 umgehen.
Wo/wie/wieso sollten da Sonderzeichen verloren gehen?
-
Wenn in meinem UTF-8 String ein koreanisches Zeichen drin ist und nach LPSTR gewandelt wird (so wurde angefragt (CString->LPSTR), dann gehen mit Sicherheit Zeichen verloren, wenn keine koreanische Codepage selektiert ist...