Zeichenkodierung in Konsolenanwendung
Zeichenkodierung in Konsolenanwendung
Hallo,
ich habe folgendes Problem mit der Zeichenkodierung:
Ich habe ein Programm gebastelt, das auf der Kommandozeile (Eingabeaufforderung) unter Windows ausgeführt werden soll.
Mit dem Befehl "WriteLn()" gebe ich die Hinweistexte oder Fehlermeldungen aus. Dabei werden allerdings die Umlaute nicht korrekt angezeigt. UTF8ToAnsi bringt mich auch nicht weiter. Wie muss ich denn die Strings umkodieren?
Vielen Dank und viele Grüße
Kay
ich habe folgendes Problem mit der Zeichenkodierung:
Ich habe ein Programm gebastelt, das auf der Kommandozeile (Eingabeaufforderung) unter Windows ausgeführt werden soll.
Mit dem Befehl "WriteLn()" gebe ich die Hinweistexte oder Fehlermeldungen aus. Dabei werden allerdings die Umlaute nicht korrekt angezeigt. UTF8ToAnsi bringt mich auch nicht weiter. Wie muss ich denn die Strings umkodieren?
Vielen Dank und viele Grüße
Kay
-
- Lazarusforum e. V.
- Beiträge: 3178
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: Zeichenkodierung in Konsolenanwendung
Versuchs mal mit UTF8ToSys().Kay hat geschrieben:Mit dem Befehl "WriteLn()" gebe ich die Hinweistexte oder Fehlermeldungen aus. Dabei werden allerdings die Umlaute nicht korrekt angezeigt. UTF8ToAnsi bringt mich auch nicht weiter. Wie muss ich denn die Strings umkodieren?
Edit: Die Windows-Console verwendet per Standard (bei einem deutschen Windows) die Codepage 850 (DOS); ANSI entspricht eher Codepage 1252 (Windows-1252). Die UTF-8-Codepage ist 65001.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: Zeichenkodierung in Konsolenanwendung
Hallo,
also ich hab das gerade mal mit UTF8ToSys probiert, das Ergebnis ist das gleiche wie bei UTF8ToAnsi. Möglicherweise ruft die eine Funktion die andere auf, bringt mir also leider nichts. Hattest du das bei dir getestet?
Viele Grüße
Kay
also ich hab das gerade mal mit UTF8ToSys probiert, das Ergebnis ist das gleiche wie bei UTF8ToAnsi. Möglicherweise ruft die eine Funktion die andere auf, bringt mir also leider nichts. Hattest du das bei dir getestet?
Viele Grüße
Kay
Re: Zeichenkodierung in Konsolenanwendung
Welche Kodierung hat denn deine Quelldatei?
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Zeichenkodierung in Konsolenanwendung
Glaub utf8toconsole wars
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Re: Zeichenkodierung in Konsolenanwendung
Oder muss man bei einer Konsolenanwendung noch cwstring extra einbinden? Weiss ich nicht mehr so genau.
Uses cwstring
Uses cwstring
Re: Zeichenkodierung in Konsolenanwendung
Hallo,
ich wollte mich nur kurz melden und sagen, dass ich's hinbekommen habe. Die Lösung war die Funktion UTF8ToConsole().
Vielen Dank nochmal für den Tipp und viele Grüße
Kay
ich wollte mich nur kurz melden und sagen, dass ich's hinbekommen habe. Die Lösung war die Funktion UTF8ToConsole().
Vielen Dank nochmal für den Tipp und viele Grüße
Kay
-
- Beiträge: 322
- Registriert: Sa 21. Mär 2009, 17:31
- OS, Lazarus, FPC: Linux (Lazarus SVN, FPC 2.4)
- CPU-Target: 64 Bit
Re: Zeichenkodierung in Konsolenanwendung
In fileutilKay hat geschrieben:Die Lösung war die Funktion UTF8ToConsole().
Und das ruft CharToOem, von der Microsoft schreibt, man solle es nicht mehr verwenden

-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: Zeichenkodierung in Konsolenanwendung
Microsoft schafft das winapi eh ab warum sollte man also auf die pappnasen hören. Entweder sie rudern bald wieder zurück oder si verlieren massiv marktanteile. Oder ich irr mich und in 10 jahren gibts nur noch sponsored apps.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/