кодировка символов powershell из System.Net.WebClient - PullRequest
5 голосов
/ 07 января 2010

Я выполняю следующую команду:

([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 Ответ

11 голосов
/ 07 января 2010

Вам необходимо установить свойство кодирования веб-клиента:

$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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...