PowerShell:Impostazione della codifica per la pipeline Get-Content
-
09-06-2019 - |
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?
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