Powershell: настройка кодировки для конвейера Get-Content - PullRequest
44 голосов
/ 17 сентября 2008

У меня есть файл, сохраненный как UCS-2 Little Endian. Я хочу изменить кодировку, поэтому я запустил следующий код:

cat tmp.log -encoding UTF8 > new.log

Полученный файл все еще находится в UCS-2 Little Endian. Это потому, что конвейер всегда в этом формате? Есть ли простой способ передать это в новый файл как UTF8?

Ответы [ 4 ]

53 голосов
/ 17 сентября 2008

Как предложено здесь :

Get-Content tmp.log | Out-File -Encoding UTF8 new.log
28 голосов
/ 17 сентября 2008

Я бы сделал это так:

get-content tmp.log -encoding Unicode | set-content new.log -encoding UTF8

Насколько я понимаю, опция -encoding выбирает оболочку, в которую файл должен быть прочитан или записан.

7 голосов
/ 05 июня 2014

загрузка содержимого из XML-файла с кодировкой.

(Get-Content-Encoding UTF8 $ fileName)

1 голос
/ 20 июля 2015

Если вы читаете файл XML, вот еще лучший способ адаптации к кодировке вашего файла XML:

$xml = New-Object -Typename XML
$xml.load('foo.xml')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...