长期批改为utf-8

PS> chcp 65001

通过配置文件永恒批改

查看powershell配置文件地位,如果不存在则去创立

PS> $PROFILE

在配置文件中写入

$OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding

从新关上Powershell

如果呈现报错如下

. : 无奈加载文件 C:\Users\***\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1,因为在此零碎上禁止运行脚本。无关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。所在位置 行:1 字符: 3+ . 'C:\Users\gong\Documents\WindowsPowerShell\Microsoft.PowerShell_pro ...+   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    + CategoryInfo          : SecurityError: (:) [],PSSecurityException    + FullyQualifiedErrorId : UnauthorizedAccess

则应用管理员权限关上Powershell

执行命令如下,配置容许零碎运行脚本,该配置默认是Restricted,默认禁止的

PS> Set-ExecutionPolicy RemoteSigned

执行命令如下确认批改失效

PS> Get-ExecutionPolicy

从新关上powershell输出命令chcp,如果输入如下示意批改胜利

Active code page: 65001

输入重定向到文件时配置编码

Powershell能够应用输入重定向,如下把ls命令重定向到文件aa.txt

PS> ls > aa.txt

之后应用记事本关上aa.txt,能够在右下角看到编码显示为UTF-16 LE

应用utf8重定向如下

PS> ls | out-file bb.txt -encoding utf8

用记事本关上bb.txt,看到编码显示带BOM的UTF-8

参考浏览

解决PowerShell中文乱码

microsoft 编码

microsoft输入重定向