Powershell: Setting Encoding for Get-Content Pipeline

As suggested here:

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

I would do it like this:

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

My understanding is that the -encoding option selects the encdoing that the file should be read or written in.


load content from xml file with encoding.

(Get-Content -Encoding UTF8 $fileName)


If you are reading an XML file, here's an even better way that adapts to the encoding of your XML file:

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