 <p>The difference is in what default encoding is used. From <a href="http://technet.microsoft.com/en-us/library/hh847827.aspx">MSDN</a>, we can see that <code>Set-Content</code> defaults to ASCII encoding, which is readable by most programs (but may not work if you're not writing english). The <code>&gt;</code> output redirection operator on the other hand works with Powershell's internal string representation, which is .Net <code>System.String</code>, which is UTF-16 (<a href="http://www.johndcook.com/blog/2008/08/25/powershell-output-redirection-unicode-or-ascii/">reference</a>)</p> <p>As a side-note, you can also use <code>Out-File</code>, which uses unicode encoding.</p>