Powershell: Einstellung Encoding für Get-Content Pipeline
-
09-06-2019 - |
Frage
Ich habe eine Datei gespeichert als UCS-2 Little Endian ich die Codierung ändern möchten, damit ich den folgenden Code lautete:
cat tmp.log -encoding UTF8 > new.log
Die resultierende Datei ist nach wie vor in UCS-2 Little Endian. Ist dies, weil die Pipeline immer in diesem Format ist? Gibt es einen einfachen Weg, um Rohr dieses in eine neue Datei als UTF-8?
Lösung
Wie vorgeschlagen hier :
Get-Content tmp.log | Out-File -Encoding UTF8 new.log
Andere Tipps
Ich würde es tun, wie folgt:
get-content tmp.log -encoding Unicode | set-content new.log -encoding UTF8
Mein Verständnis ist, dass die -encoding Option, um den encdoing wählt, dass die Datei in gelesen oder geschrieben werden soll.
load Inhalt von XML-Datei mit Codierung.
(Get-Content -Encoding UTF8 $ filename)
Wenn Sie eine XML-Datei lesen, hier ist eine noch bessere Möglichkeit, die zur Codierung von XML-Datei paßt:
$xml = New-Object -Typename XML
$xml.load('foo.xml')
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow