Ich besitze ein altes DOS-Programm (EarlyBird - EB.EXE), das auf meinem WIN XP Pro-System seit vielen Jahren einwandfrei funktioniert. Das Programm wird über eine Verknüpfung zur EXE-Datei (eine * .pif-Datei, glaube ich) gestartet, von NTVDM ausgeführt und verwendet anscheinend AUTOEXEC.NT und CONFIG.NT.
Seit ich aus den USA nach Großbritannien gezogen bin, habe ich vor kurzem die regionale Option von USA nach Großbritannien geändert. Das 'DOS'-Fenster zeigt die "Box Drawing" -Zeichen jetzt nicht richtig an.
Wenn ich eine CMD-Eingabeaufforderung starte und chcp eingebe, wird die Codepage als 850 angezeigt. Dies scheint in Ordnung zu sein, obwohl es bisher 437 war. Das DOS-Programm von Early Bird verfügt jedoch über einen DOS-Shell-Exit die Antwort 1252.
Ich habe mit der Hilfe von @Doktoro Reichard verschiedene Experimente durchgeführt, darunter das Festlegen der Codepage in der Registrierung, das Starten einer .bat-Datei mit einer Kraft über chcp auf verschiedene Codepages. Keines davon schien zu funktionieren.
Schließlich habe ich das Gebietsschema wieder auf US zurückgesetzt und die Box-Zeichen funktionieren nun einwandfrei. Seltsamerweise zeigt ein DOS-Exit aus dem EB-Programm STILL den Wert cp als 1252 an, während eine CMD-Eingabeaufforderung 437 anzeigt. Dies ist verwirrend.
Ich möchte jedoch wirklich, dass das Windows-Gebietsschema Großbritannien ist (aus einer Vielzahl von Gründen wie Datumsformaten, 24-Stunden-Uhr usw.), aber ich benötige immer noch mein altes DOS-Programm, um korrekt zu funktionieren.
Gibt es eine Möglichkeit, das Gebietsschema auf UK festzulegen und dennoch die richtigen Zeichnungszeichen unter NTVDM über die * .pif-Verknüpfung abzurufen?
Vielen Dank
David
quelle
chcp
vor jedem Befehl. Wenn Sie Ihr Programm direkt ausführen, erstellen Sie eine.bat
mitchcp
und dann wird Ihr Programm funktionieren. Der Grund für die Verwendung von CP 1252 ist, wie ich bereits sagte, dass Sie das Gebietsschema als UK eingerichtet haben, das den CP 1252 verwendet. Wenn Sie das Gebietsschema beibehalten möchten und eine beliebige Codepage haben möchten, hat dies anscheinend jemand anderes beantwortet Hier