作者pleaselouis (LOUISN)
看板C_Sharp
标题Re: [问题] C# 使用PowerShell指令 却出现乱码
时间Thu Jul 21 14:24:19 2022
※ 引述《pleaselouis (LOUISN)》之铭言:
: 我在档案总管 选择: 档案->开启 Windows PowerShell 然後输入指令 wsl -l -v
: 视窗会输出以下的资讯
: PS D:\WSL Manager> wsl -l -v
: NAME STATE VERSION
: * Ubuntu Stopped 2
: PS D:\WSL Manager>
: 但是如果我在VC# 里面写CODE:
: PowerShell PowerShellInstance1 = PowerShell.Create();
: var cmd01 = "wsl -l -v";
: PowerShellInstance1.AddScript(cmd01);
: foreach (PSObject result in PowerShellInstance1.Invoke())
: {
: infoRichTextBox.AppendText(result.ToString() + "\n");
: }
: 在 infoRichTextBox.AppendText(result.ToString() + "\n"); 这一行定中断 会看到
: result变数里面存的是乱码
: " \0 \0N\0A\0M\0E\0 \0 \0 \0 \0 \0 \0S\0T\0A\0T\0E\0 \0 \0 \0 \0 \0 \0 \0 \0
: \0 \0 \0V\0E\0R\0S\0I\0O\0N\0"
: 请问有人知道是怎麽回事吗?? 我Google了很久 但是没有找到解决办法 请麻烦大家给我
: 意见 谢谢
刚刚在巴哈姆特的 程式设计版 有强者大大 教我怎麽做了
AddScript(cmd01) 前面多一行「AddScript("[console]::OutputEncoding =
New-Object System.Text.UnicodeEncoding")」
感谢网路上的各位强者大大的协助
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 60.248.95.103 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1658384661.A.C33.html