Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo, > > ich hatte ein ähnliches Problem. Immer wenn ein Umlaut mitten im Wort ist, wird er > falsch dargestellt. Abhilfe brachte hier im Quelltext direkt nach dem Umlaut 2 Anführungsstriche > oben zu schreiben, also den String zu beenden und einen Neuen anzufangen, intern werden die dann > als ein string behandelt. > > zum Bsp.: > const menu[] = "Temperatursensor 1 \xF5""berpr\xF5""fen"; > > Gruß Björn > > > Hallo, > > > > habe da was gefunden und auch eine Lösung, aber keine Erklärung. > > Vielleicht kann mir irgend wer sagen, warum das so ist. > > > > Hatte ein paar Texte für eine Menüeingabe als Konstanten-Array definiert. > > Anschließend ausgegeben. Die Umlaute werden dabei als Escape-Sequenzen codiert. > > ä = \xe1 > > ö = \xef > > ü = \xf5 > > ß = \xe2 > > > > Jedoch ist statt einem ü das Yen-Zeichen heraus gekommen (durchgestrichenes Y) > > Also habe ein wenig getestet und musste feststellen, dass die Escape-Sequenzen > > richtig waren. Jedoch muss ich den String zusammensetzen. > > > > Hier ein paar Zeilen als Quellcode: > > <code> > > const MENU1[] = "0: Zur\xf5ck ", "1: Datum stellen"; > > const MENU2[] = > > "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef", > > "\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff"; > > const MENU3[] = "0: Zur" "\xf5" "ck ", "1: Datum stellen"; > > > > // Diese Variante zeigt das Yen-Zeichen statt dem ü > > lcdext.line(1); > > lcdext.print(MENU1[0]) > > lcdext.line(2); > > lcdext.print(MENU1[1]) > > sleep 5000; > > > > // Diese Variante zeigt viele Sonderzeichen. u.a. das ä, ö, ü und das ß > > lcdext.line(1); > > lcdext.print(MENU2[0]) > > lcdext.line(2); > > lcdext.print(MENU2[1]) > > sleep 5000; > > > > // Diese Variante zeigt tatsächlich ein Zurück > > lcdext.line(1); > > lcdext.print(MENU3[0]) > > lcdext.line(2); > > lcdext.print(MENU3[1]) > > sleep 5000; > > </code> > > > > Kann mir einer sagen, warum der Compiler in der Variante MENU1 das ü falsch interpretiert > > und in den Varianten MENU2 und MENU3 richtig? Ich ging bis dato davon aus, dass ein > > Escape-Wert mit \x eingeleitet stets ein zweistelligen Hex-Wert erwartet. (Kenn ich so von > > anderen Sprachen) > > > > Any Idea? > > > > PS: Tritt auf dem Display der C-Control II Station auf.