STM32, CooCox CoIDE, GCC, merkwürdiger Effekt mit Umlauten

24/05/2013 - 08:34 von Stefan | Report spam
Hallo, ich habe hier einen merkwürdigen Effekt mit der CooCox CoIDE
festgestellt.

wenn ich
-
unsigned char b;
b = 'à'; // b = umlaut a
-

ausführe, hat b anschließend nicht den Dezimalwert 132, wie erwartet,
sondern 228.

Wenn ich im Editorfenster der IDE <alt>132 eingebe, erscheint wie
erwartet das kleine 'à'.

Irgendwie scheint der Compiler da den Zeichensatz zu verwurschteln.

Wir können und jetzt behelfen, indem wir

-
if (b=='à') b2;
-

aufrufen, aber das finde ich irgendwie bescheuert.
Mit den anderen Umlauten haben wir ein vergleichbares Problem.

Gibt es da eine Option im Compiler, oder in der IDE?

Gruß

Stefan
 

Lesen sie die antworten

#1 Christian Zietz
24/05/2013 - 08:42 | Warnen spam
Stefan schrieb:

wenn ich
-
unsigned char b;
b = 'à'; // b = umlaut a
-

ausführe, hat b anschließend nicht den Dezimalwert 132, wie erwartet,
sondern 228.



228 ist doch der Code für 'à' in ISO 8859(-1) und in Windows-1252.
Bestimmt speichert die IDE den Quellcode in dieser Zeichencodierung.
Warum sollte sie irgendeine MS-DOS Codepage verwenden, in der 'à' einmal
132 war?

Christian
Christian Zietz - CHZ-Soft - czietz (at) gmx.net
WWW: http://www.chzsoft.de/
PGP/GnuPG-Key-ID: 0x6DA025CA

Ähnliche fragen