Programme wie ping, ipconfig auf andere Codepage umstellen

26/02/2014 - 16:17 von Ralph Aichinger | Report spam
Wenn ich mich per Telnet von meiner Linux-Box auf den Windows-Rechner
mit Microsoft Telnet Service einlogge, dann habe ich in Standard-
Einstellung meines Terminals (UTF-8) verwurstete Umlaute.

| -a L▒st Adressen in Hostnamen auf.
| -n Anzahl Anzahl der zu sendenden Echoaufforderungen.
| -l Gr▒▒e Sendet Pufferl▒nge.
| -f Setzt Kennzeichen f▒r "Nicht fragmentieren" im Paket
| (nur IPv4).
| -i TTL G▒ltigkeitsdauer (TTL).

Stelle ich Codepage 437 in Putty ein, dann passen die Umlaute. Nur will ich
natürlich nicht extra für Windows das Terminal dauernd umstellen
müssen.

Ein Umstellen auf Codepage 65001 in Windows (laut Wikipedia UTF-8)
bringt keine Verbesserung (chcp 65001), entsprechend:

http://technet.microsoft.com/en-us/...10%29.aspx

Wie geht man das an? Welche Formen von Unicode unterstützt Windows
sinnvoll und wie kriegt man das hin, daß über eine Terminal-Session
egal ob mit clientseitigen oder serverseitigen Anpassungen das
ganze vernünftig in einem UTF-8-Terminal làuft? D.h. es ist mir
egal wo die Konvertierung passiert, aber das Terminal selbst sollte
UTF-8 sein.

TIA

/ralph
 

Lesen sie die antworten

#1 Stefan Kanthak
26/02/2014 - 16:57 | Warnen spam
"Ralph Aichinger" schrieb:
Wenn ich mich per Telnet von meiner Linux-Box auf den Windows-Rechner
mit Microsoft Telnet Service einlogge, dann habe ich in Standard-
Einstellung meines Terminals (UTF-8) verwurstete Umlaute.



[...]

Stelle ich Codepage 437 in Putty ein, dann passen die Umlaute. Nur will ich
natürlich nicht extra für Windows das Terminal dauernd umstellen
müssen.

Ein Umstellen auf Codepage 65001 in Windows (laut Wikipedia UTF-8)
bringt keine Verbesserung (chcp 65001), entsprechend:

http://technet.microsoft.com/en-us/...10%29.aspx



Nein, NICHT entsprechend. CMD.EXE kann mit UTF-8 nicht richtig umgehen!
Michael Kaplan muesste dazu einiges geschrieben haben.

Aber (Schuss ins Blaue): CMD.EXE kann mit UTF-16 umgehen:

[HKEY_LOCAL_MACHIN\Software\Microsoft\TelnetServer\1.0]
"DefaultShell"=expand:"%SystemRoot%\\System32\\CMD.EXE"
;"LoginScript"=expand:"%SystemRoot%\\Scripts\\CUSTOM.CMD"
"Shell"=expand:""
"SwitchForOneTimeUseOfShell"=expand:"/U /Q /D /C Call"
"SwitchToKeepShellRunning"=expand:"/U /Q /D /K Call"

Wie geht man das an? Welche Formen von Unicode unterstützt Windows
sinnvoll



Windows selbst: UTF-16 (einige neuere Systemsschnittstellen koennen
auch UTF-8).
Dummerweise sind die wenigsten Windows-Kommandos sauber geschrieben:
die meisten schreiben ANSI, einige UNICODE. Besonders huebsch wird's,
wenn Du (Ein- oder) Ausgabeumleitungen verwendest und in den Ausgabe-
Dateien dann ein Mix aus ANSI und UTF-16 entsteht.

JFTR: WriteConsole() konvertiert automatisch. Dummerweise liefert es
bei umgeleiteter Ausgabe ERROR_INVALID_HANDLE. WriteFile() kann auch
auf die Konsole ausgeben, allerdings sieht " U N I C O D E" wie hier
aus.-(

und wie kriegt man das hin, daß über eine Terminal-Session
egal ob mit clientseitigen oder serverseitigen Anpassungen das
ganze vernünftig in einem UTF-8-Terminal làuft? D.h. es ist mir
egal wo die Konvertierung passiert, aber das Terminal selbst sollte
UTF-8 sein.



Vergiss UTF-8!

Stefan
[
Die unaufgeforderte Zusendung werbender E-Mails verstoesst gegen §823
Abs. 1 sowie §1004 Abs. 1 BGB und begruendet Anspruch auf Unterlassung.
Beschluss des OLG Bamberg vom 12.05.2005 (AZ: 1 U 143/04)

Ähnliche fragen