Ich habe ein kleines C# Konsolenprogramm, das etwas Text mit Console.WriteLine ausgibt. Ich habe dann Rohr diese Ausgabe in eine Text-Datei wie:Windows cmd Rohr nicht Unicode auch mit/U Schalter
c:myprogram > textfile.txt
jedoch die Datei immer eine ANSI-Textdatei ist, auch wenn ich starte cmd mit der Option/u wechseln. cmd /? sagt über die Option/U:
/U Ausgabe interner Befehle an ein Rohr oder eine Datei Unicode
Und es macht einen Unterschied in der Tat zu sein, die Ursachen, wenn ich ein
tunc:echo "foo" > text.txt
die text.txt ist Unicode (ohne BOM)
ich frage mich, warum kochend die Ausgabe von Mein Konsolenprogramm in eine neue Datei erstellt ebenfalls keine Unicode-Datei und wie könnte ich das ändern?
Ich benutze nur Windows Power Shell (die eine Unicode-Datei mit der richtigen Stückliste erzeugt), aber ich würde immer noch gerne wissen, wie es mit cmd geht.
Danke!
Ja, ich denke, dass Sie damit etwas anfangen. –
Die Konsolen-Codepage wird mit 'SetConsoleOutputCP' festgelegt. Sie können festlegen, was Sie wollen - PS setzt es auf Unicode, und Sie können dasselbe tun, wenn Sie P/Invoke verwenden möchten. – Ben