如何让PowerShell显示中文不乱码
故障描述:
这两天有个部门做了个Survey用来调查一些信息,由于对最后的结果报表有些特殊要求,不得不决定弃用SharePoint Survey自带的Export to spreadsheet功能,改用PowerShell导出结果。
过程中碰到个小麻烦,就是Survey结果中的中文字符不能正常显示,打印出来的都是问号。。
解决方法:
其实嘛一看就知道是encoding的问题,英语为默认语言的环境里,PowerShell默认的Encoding是AscII
最简单的方法就是改用PowerShell ISE,它可以显示非英语字符。在操作SharePoint数据的时候只要在启动ISE的时候运行一下下面的语句就可以,相比于Management Console方便很多。
Add-PSSnapin Microsoft.SharePoint.PowerShell |
另外一个解决方法是把Encoding改为UTF8,运行下面的语句就可以了。
$OutputEncoding = New-Object -typename System.Text.UTF8Encoding |