Powershell:如何转换" ISO" char到UTF8?

时间:2014-06-24 12:49:08

标签: powershell encoding utf-8

我使用此功能下载一些RSS源并将其写入Excel文件:

Function Get-RSS {
param ([string]$url)
$Results = @()
$wc = New-Object Net.WebClient
$wc.Encoding = [System.Text.Encoding]::UTF8

[xml]$resp = $wc.DownloadString("$url")
$article = $resp.rss.channel.item

foreach ($in in $article) {
    [string]$description = $in.description.InnerText -replace "<.*?>"
    $Results += Set-News -Title $in.title -Content $description -PublishDate $in.pubDate -Link $in.OrigLink
}
return $Results

}

正确下载工作,但我对此类特定字符有疑问:

  

&amp;#8230;   &amp;#8217;   ...

我在Excel中看到,如何将其转换为查看此代码后面的字符?

1 个答案:

答案 0 :(得分:1)

您需要解码html字符。改变

[xml]$resp = $wc.DownloadString("$url")

[xml]$resp = [System.Web.HttpUtility]::HtmlDecode($wc.DownloadString("$url"))

如果您使用的是PS2,请在脚本/函数顶部添加Add-Type -AssemblyName System.Web以导入所需的.NET二进制文件。