powershell - 从 Powershell 使用 native CMD 命令时的编码问题

标签 powershell unicode encoding cmd

从 powershell 执行 native cmd 命令时,例如 net view \\192.168.1.x我得到以下结果,其中非英文字符显示为 ???? :

Share name        Type   Used as  Comment
--------------------------------------------------
AntEater          Disk
AntEater_Eab      Disk
HP  M4345 ?????   Print           HP  M4345 ?????
Letters           Disk
SMSCenter         Disk
temp              Disk
Users             Disk
????? ??? ??????  Print           ????? ??? ??????
The command completed successfully.

如果我跑 chcp 862我得到以下结果(在控制台上):
Share name        Type   Used as  Comment
--------------------------------------------------
AntEater          Disk
AntEater_Eab      Disk
HP  M4345 הנהחש   Print           HP  M4345 הנהחש
Letters           Disk
SMSCenter         Disk
temp              Disk
Users             Disk
מדפסת             Print           

这很好,但是当我尝试将其保存到变量或将其导出到文件时:
$temp = net view \\192.168.1.x
$temp

Share name        Type   Used as  Comment
--------------------------------------------------
AntEater          Disk
AntEater_Eab      Disk
HP  M4345 ?????   Print           HP  M4345 ?????
Letters           Disk
SMSCenter         Disk
temp              Disk
Users             Disk
????? ??? ??????  Print           ????? ??? ??????

结果又错了

我已经试过了:
net view \\192.168.1.x | Out-File C:\temp.txt -Encoding Unicode
cmd /c 'chcp 862 && net view \\192.168.1.x' | Out-File C:\temp.txt -Encoding Unicode
cmd /c 'chcp 862 && net view \\192.168.1.x > c:\temp.txt'
cmd /u /c 'chcp 862 && net view \\192.168.1.x > c:\temp.txt'

更真的……

运行 net view \\192.168.1.x | Out-String 时也显示问题

相同的结果是我是否从 CMD 或 PowerShell 运行它

你知道这种行为吗?如何将正确的输出保存到变量或文件?

最佳答案

在控制面板中更改“非Unicode程序的语言”后,问题解决了,感谢您的帮助...

enter image description here

运行 intl.cpl并选择 Adminstrative标签。

关于powershell - 从 Powershell 使用 native CMD 命令时的编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34510700/

相关文章:

sql-server-2008 - 如何使用 freeTDS 和 unixODBC 配置 pyodbc 以正确接受来自 SQL Server 的字符串?

python - 如何使用 Python 将此 XML 字符串转换为二进制形式?

powershell - 从FullName属性提取路径到结果中

python - 在 Python 中从带有重音符号的字符串中删除所有非字母字符

powershell - 如何搭配三个或更多元素

c++ - 如何使用 PyQt 正确显示所有 Unicode 字符?

java - 使用 Jersey、Tomcat 和 Java 解析网站 - 编码问题

java - 复用 MP4 和 AAC(jcodec、MP4Parser)

regex - 使用 powershell 捕获数组中的正则表达式匹配

azure - Connect-AzAccount 无提示