Ich versuche Utf8-Strings in QTextEdit korrekt darzustellen. Direkt funktioniert es ja auch, siehe
Zeile 19. Mein Linux-System ist auf Utf8 eingestellt.
Meine Ausgabe des Programmes im Anhang.
mfg Klaus
Zeichenkodierung (fromUtf8)
-
- Beiträge: 19
- Registriert: 28. April 2008 18:26
- Wohnort: Milkyway
Zeichenkodierung (fromUtf8)
- Dateianhänge
-
- Bildschirmfoto00.png (3.46 KiB) 4499 mal betrachtet
-
- main.cpp
- (420 Bytes) 343-mal heruntergeladen
Re: Zeichenkodierung (fromUtf8)
Es kommt wohl auf den verwendet Compiler (btw dessen Einstellung) an, wie dieser die Strings übersetzt.
Im Anhang die Ausgabe unter Windows/VS2010 mit dem selben Source-Code.
Offensichtlich interpretiert dein Compiler (gcc?) jeden String als Utf8.
Qt hingegen geht standardmässig von einem Ascii-String aus, sodass bei dir die explizite Konvertierung funktioniert und bei mir genau umgekehrt.
//Edit:
Hab noch dass hiergefunden:
Mfg veeman
Im Anhang die Ausgabe unter Windows/VS2010 mit dem selben Source-Code.
Offensichtlich interpretiert dein Compiler (gcc?) jeden String als Utf8.
Qt hingegen geht standardmässig von einem Ascii-String aus, sodass bei dir die explizite Konvertierung funktioniert und bei mir genau umgekehrt.
//Edit:
Hab noch dass hiergefunden:
char plainString[] = “hello”; //Local encoding, whatever that may be.
wchar_t wideString[] = L”hello”; //Wide characters, usually UTF-16 or UTF-32.
char utf8String[] = u8“hello”; //UTF-8 encoding.
char16_t utf16String[] = u”hello”; //UTF-16 encoding.
char32_t utf32String[] = U”hello”; //UTF-32 encoding
Mfg veeman
- Dateianhänge
-
- screen_win.jpg (20.26 KiB) 4486 mal betrachtet
-
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
Re: Zeichenkodierung (fromUtf8)
Deswegen ja nur ASCII-Strings benutzen und den Rest über tr().
Unter Linux ist die Kodierung per default UTF-8 - da funktioniert also alles korrekt. Nur unter Windows dann wieder nicht... M$ eben.
Unter Linux ist die Kodierung per default UTF-8 - da funktioniert also alles korrekt. Nur unter Windows dann wieder nicht... M$ eben.
MfG Christian
'Funktioniert nicht' ist keine Fehlerbeschreibung
'Funktioniert nicht' ist keine Fehlerbeschreibung