首页 > 解决方案 > 使用 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├®”

标签: powershell

解决方案


您需要将Console.OutputEncoding设置为 UTF8,如下所示:

powershell.exe -Command {
    [Console]::OutputEncoding = [System.Text.Encoding]::Utf8
    Start-Process cmd.exe -Verb runAs -Arg '/k echo été'
}

结果:

埃特


推荐阅读