You are here: Wissensbasis Web>UtilFaqInclude>DosBoxUmlaute (2006-12-15)

Korrekte Umlaute in der DOS-Box

Inhalt:

So geht es ganz easy:

Um korrekte (deutsche) Umlaute im Textmodus (DOS-Modus oder Windows-Dosbox) darzustellen, kann man den Ausgabestream filtern:

binmode(STDOUT, ":encoding(cp437)");

Dann wird bei print statt der (ANSI-) Codepage cp1252 die MS-DOS-Codepage (OEM) cp437 verwendet.

Das funktioniert ab Perl 5.8.

Ergänzungen, Kommentare

Man kann es noch weiter treiben und den Aufruf an eine OS-Abfrage koppeln, damit ist es einfacher, portable Konsolenskripte zu erstellen:

binmode(STDOUT, ":encoding(cp437)") if $^O eq 'MSWin32';

Oder man schreibt dieses in ein Mini-Modul "DOSBOX.pm", was man dann in Skripte per use DOSBOX einbinden kann:

package DOSBOX;

binmode(STDOUT, ":encoding(cp437)") if $^O eq 'MSWin32';

1;

-- ChristophBacher - 01 Jun 2005

Und wenn man die richtige Eingabe bekommen will, dann muss man das gleiche auch für STDIN machen.

-- PlTk - 12 Aug 2005

edit: Im package fehlte die "1;"

-- ChristophBacher - 15 Dec 2006

UtilFaqSubForm edit

Titel Korrekte Umlaute in der DOS-Box
Autor Christoph Bacher
Bereich FaqEinUndAusgabe
Topic revision: r5 - 2006-12-15 - 18:57:00 - ChristophBacher
 
Bitte die NutzungsBedingungen beachten.
Bei Vorschlägen, Anfragen oder Problemen mit dem PerlCommunityWiki bitten wir um WebBottomBarExample">Rückmeldung.