System.Net.WebClient中的powershell字符编码

时间:2010-01-07 09:16:23

标签: windows encoding powershell

我正在运行以下命令:

([xml](new-object net.webclient).DownloadString(
"http://blogs.msdn.com/powershell/rss.aspx"
)).rss.channel.item | format-table title,link

其中一个RSS项的输出包含这个奇怪的文字:

You Don’t Have to Be An Administrator to Run Remote PowerShell Commands

所以,问题是:

  • 为什么要混淆角色?撇号怎么了?为什么输出应该呈现为Don’t时应该呈现为Don't
  • 如何在PowerShell标准输出中获得正确的字符?

1 个答案:

答案 0 :(得分:11)

您需要设置webclient的编码属性:

$wc = New-Object System.Net.WebClient
$wc.Encoding = [System.Text.Encoding]::UTF8
([xml]$wc.DownloadString( "http://blogs.msdn.com/powershell/rss.aspx" )).rss.channel.item | format-table title,link