Domanda

Ho un file salvato come UCS-2 Little Endian e voglio cambiare la codifica, quindi ho eseguito il seguente codice:

cat tmp.log -encoding UTF8 > new.log

Il file risultante è ancora in UCS-2 Little Endian.È perché la pipeline è sempre in quel formato?Esiste un modo semplice per reindirizzarlo a un nuovo file come UTF8?

È stato utile?

Soluzione

Come suggerito Qui:

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

Altri suggerimenti

Lo farei in questo modo:

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

Da quanto ho capito, l'opzione -encoding seleziona la codifica in cui il file deve essere letto o scritto.

caricare il contenuto dal file xml con codifica.

(Get-Content -Codifica UTF8 $fileName)

Se stai leggendo un file XML, ecco un modo ancora migliore che si adatta alla codifica del tuo file XML:

$xml = New-Object -Typename XML
$xml.load('foo.xml')
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top