it-swarm-pt.tech

Powershell: Definindo a codificação para o pipeline Get-Content

Tenho um arquivo salvo como UCS-2 Little Endian. Quero alterar a codificação e executei o seguinte código:

cat tmp.log -encoding UTF8 > new.log

O arquivo resultante ainda está no UCS-2 Little Endian. Isso ocorre porque o pipeline está sempre nesse formato? Existe uma maneira fácil de canalizar isso para um novo arquivo como UTF8?

45
jedatu

Como sugerido aqui :

Get-Content tmp.log | Out-File -Encoding UTF8 new.log
54
Lars Truijens

Eu faria assim:

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

Meu entendimento é que a opção -coding seleciona o código em que o arquivo deve ser lido ou gravado.

28
driis

carregar conteúdo do arquivo xml com codificação.

(Get-Content -Encoding UTF8 $ fileName)

7
user572730

Se você estiver lendo um arquivo XML, eis uma maneira ainda melhor de se adaptar à codificação do seu arquivo XML:

$xml = New-Object -Typename XML
$xml.load('foo.xml')
1
sba