setlocale() und Characterencodings unter Windows/Dos

16/10/2015 - 16:53 von alexschott87 | Report spam
Hallo zusammen,

eine Frage zu den Characterencodings. Windows und Dos nutzen jeweils unterschiedliche Encodings. Das wird einem klar, wenn man unter Visual Studio eine C-Datei als Kommandozeilen-Projekt anlegt.

Codeauszug:
printf("%s", "Draußen brüllen Bàren und Löwen!");
setlocale( LC_ALL, "" );
printf("%s", "Draußen brüllen Bàren und Löwen!");

làsst man sich das auf der Dos-Konsole ausgeben, so erscheinen für die Umlaute und dem ß falsche Zeichen. Nach setlocale() werden sie richtig angezeigt.

Speichert man die .c Datei explizit mit DOS-Encoding (westerneuropàisch) kann er die Zeichen schon in der ersten Zeile richtig anzeigen, setlocale() zerstört sie dann wieder.

Meine Frage: Was macht setlocale() explizit im Bezug auf das Characterencoding?

Mfg Alex
 

Lesen sie die antworten

#1 Helmut Schellong
16/10/2015 - 17:31 | Warnen spam
On 10/16/15 16:53, wrote:

Meine Frage: Was macht setlocale() explizit im Bezug auf das Characterencoding?



Google: c11 draft standard

liefert: n1548.pdf

www.open-std.org/jtc1/sc22/wg14/www/docs/n1548.pdf




Mit freundlichen Grüßen
Helmut Schellong
www.schellong.de www.schellong.com www.schellong.biz
http://www.schellong.de/c.htm

Ähnliche fragen