web-development-kb-es.site

Powershell: configuración de codificación para canalización de obtención de contenido

Tengo un archivo guardado como UCS-2 Little Endian. Quiero cambiar la codificación, así que ejecuté el siguiente código:

cat tmp.log -encoding UTF8 > new.log

El archivo resultante todavía está en UCS-2 Little Endian. ¿Es esto porque la tubería siempre está en ese formato? ¿Hay una manera fácil de canalizar esto a un nuevo archivo como UTF8?

45
jedatu

Como se sugiere aquí :

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

Lo haría así:

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

Tengo entendido que la opción -encoding selecciona el adjunto en el que el archivo debe leerse o escribirse.

28
driis

cargar contenido del archivo xml con codificación.

(Get-Content-Encoding UTF8 $ fileName)

7
user572730

Si está leyendo un archivo XML, esta es una forma aún mejor que se adapta a la codificación de su archivo XML:

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