Powershell:Настройка кодировки для конвейера Get-Content
-
09-06-2019 - |
Вопрос
У меня есть файл, сохраненный как UCS-2 Little Endian, я хочу изменить кодировку, поэтому я запустил следующий код:
cat tmp.log -encoding UTF8 > new.log
Результирующий файл по-прежнему находится в алфавитном порядке UCS-2.Это потому, что конвейер всегда находится в этом формате?Есть ли простой способ перенести это в новый файл как UTF8?
Решение
Как было предложено здесь:
Get-Content tmp.log | Out-File -Encoding UTF8 new.log
Другие советы
Я бы сделал это вот так:
get-content tmp.log -encoding Unicode | set-content new.log -encoding UTF8
Насколько я понимаю, параметр -encoding выбирает кодировку, в которую файл должен быть прочитан или записан.
загрузите содержимое из xml-файла с кодировкой.
(Get-Content -Encoding UTF8 $Имя файла)
Если вы читаете XML-файл, вот еще лучший способ, который адаптируется к кодировке вашего XML-файла:
$xml = New-Object -Typename XML
$xml.load('foo.xml')
Не связан с StackOverflow