Powershell: définition du codage pour le pipeline Get-Content
-
09-06-2019 - |
Question
J'ai un fichier enregistré en tant que UCS-2 Little Endian. Je souhaite modifier le codage. J'ai donc exécuté le code suivant:
cat tmp.log -encoding UTF8 > new.log
Le fichier résultant est toujours dans UCS-2 Little Endian. Est-ce parce que le pipeline est toujours dans ce format? Existe-t-il un moyen simple de diriger ce fichier vers un nouveau fichier au format UTF8?
La solution
Comme suggéré ici :
Get-Content tmp.log | Out-File -Encoding UTF8 new.log
Autres conseils
Je le ferais comme ceci:
get-content tmp.log -encoding Unicode | set-content new.log -encoding UTF8
D'après ce que je comprends, l'option -encoding sélectionne le type de fichier à lire ou à écrire.
chargez le contenu du fichier XML avec le codage.
(Get-Content -Encoding UTF8 $ nomfichier)
Si vous lisez un fichier XML, voici un moyen encore plus efficace de s’adapter au codage de votre fichier XML:
$xml = New-Object -Typename XML
$xml.load('foo.xml')
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow