臨時修改為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輸出重定向