Zeichenkodierung (fromUtf8)

Verschiedenes zu Qt
Antworten
Klaus Reinke
Beiträge: 19
Registriert: 28. April 2008 18:26
Wohnort: Milkyway

Zeichenkodierung (fromUtf8)

Beitrag von Klaus Reinke »

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
Dateianhänge
Bildschirmfoto00.png
Bildschirmfoto00.png (3.46 KiB) 4499 mal betrachtet
main.cpp
(420 Bytes) 343-mal heruntergeladen
veeman
Beiträge: 277
Registriert: 3. Oktober 2012 01:43
Kontaktdaten:

Re: Zeichenkodierung (fromUtf8)

Beitrag von veeman »

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:
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
screen_win.jpg (20.26 KiB) 4486 mal betrachtet
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Zeichenkodierung (fromUtf8)

Beitrag von Christian81 »

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

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten