powershell - 使用 cmd 和 utf8 参数调用 Powershell
问题描述
在 UTF-8 批处理中,我尝试调用:
powershell Start-Process cmd.exe -Verb runAs -Arg '/k chcp 65001 ^& echo été'
但回声是:
Page de codes active : 65001
├®t├®
C:\WINDOWS\system32>
我想要“été”而不是“├®t├®”
解决方案
您需要将Console.OutputEncoding设置为 UTF8,如下所示:
powershell.exe -Command {
[Console]::OutputEncoding = [System.Text.Encoding]::Utf8
Start-Process cmd.exe -Verb runAs -Arg '/k echo été'
}
结果:
埃特
推荐阅读
- android - 在原生android中创建像flutter一样的高度卡
- c++ - C++ 中的 fopen() 不在同一路径中创建文件
- ios - 尝试使用尚未从自身检索的数据后调用委托方法 didUpdateLocations - Xcode Swift
- javascript - 如何使用父 div 上角的复选框使 div 垂直和水平居中
- if-statement - 如何在 kotlin 中检查 Double 值是 Null 还是零
- python - 我在哪里可以找到在 python 中使用的十六进制颜色代码列表?
- angular - 导航到另一条路线后,Angular 中的 CanActivate 可以继续吗?
- python-3.x - 如何为 python PIL draw.text 选择正确的 unicode 字体?
- algorithm - 过去的编码面试 - 非递减顺序
- openlayers - 在 Openlayers 中,如何根据相同坐标通过的次数来缩放 MultiLineString 的笔划宽度?