【问题标题】:powershell character encoding from System.Net.WebClient来自 System.Net.WebClient 的 powershell 字符编码
【发布时间】:2011-01-02 10:03:08
【问题描述】:

我正在运行以下命令:

([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 标准输出中获得正确的字符?

【问题讨论】:

  • 这显示了 powershell .Net 交互的一个重要方面。我通常在 .Net 中编程,但未能将其视为要进行的 .Net 设置。

标签: windows encoding powershell


【解决方案1】:

需要设置webclient的encoding属性:

$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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-05
    • 2023-03-13
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 2014-02-18
    • 2015-11-07
    相关资源
    最近更新 更多