• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Umlaute in C

Xentus

Idared
Registriert
25.06.10
Beiträge
24
Hallo,

hoffe das passt irgendwie in diesen Bereich..
Habe folgendes Problem. Versuche mit "\x84" ein "ä" darzustellen, aber als Ausgabe kommt nur ein "?".
Kann mir jemand kurz helfen? ^^ Auf Windows funktioniert das ganze ohne Probleme, aber auf dem Mac eben nicht.
 

Marcel Bresink

Hadelner Sommerprinz
Registriert
28.05.04
Beiträge
8.560
Das hat mit C nichts zu tun. C kennt nur die rohen Bytes. Wie diese interpretiert werden, hängt von dem Ausgabegerät ab (z.B. einem Terminal, bzw. in Windows dem Fenster "Eingabeaufforderung"), das die Bytes wieder in Zeichen zurückübersetzt.

Wenn Du ein Ausgabegerät verwendest, das den Wert 0x84 als "ä" interpretiert, dann ist dieses Gerät höchstwahrscheinlich auf die Zeichencodierung "DOS Codepage 850" geschaltet. Das ist eigentlich schon seit 20 Jahren veraltet.

Alle modernen Betriebssysteme verwenden heute standardmäßig die Zeichencodierung "Unicode UTF-8". Das "ä" wird dort entweder durch \xe4 oder \xc3\xa4 dargestellt. Du kannst die Windows-Ausgabekonsole mit dem Befehl

MODE CON: CP SELECT=65001

vorübergehend auf UTF-8 stellen. Das Programm "Eingabeaufforderung" muss dann allerdings auch auf eine Schriftart gestellt werden (über "Eigenschaften > Schriftart"), die den Unicode-Zeichenvorrat unterstützt.
 

Xentus

Idared
Registriert
25.06.10
Beiträge
24
vielen dank für die Antworten! \xc3\xa4 hat funktionert.