Windows PowerShell 窗口中使用 cat 时,显示的中文乱码
使用
cat .\test1.py
显示的中文乱码:
print('PDF 鏂囦欢宸茶浆鎹㈡垚鍥剧墖锛?')
可以使用 -Encoding
参数来指定正确的字符编码
cat .\test1.py -Encoding UTF8
显示
print('PDF 文件已转换成图片:')
其中,cat
等价于 PowerShell 内置的 get-content
命令。
或者设置显示的默认编码为 UTF8
$PSDefaultParameterValues['*:Encoding'] = 'utf8'
注意:
若想重启后依然可用,需要修改 PowerShell 的默认配置文件内容。
# 或使用 '$PSDefaultParameterValues[''*:Encoding''] = ''utf8''' >> $PROFILE
'$PSDefaultParameterValues = @{''Out-File:encoding''=''utf8''}' >> $PROFILE
# 若无法保存,可以使用下述命令创建该文件
New-Item $PROFILE -ItemType File -Force
若保存时报错:
. : 无法加载文件 C:\Users\<USER>\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1,因为在此系统上禁止运行
脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 3
+ . 'C:\Users\<USER>\Documents\WindowsPowerShell\Microsoft.PowerShell_ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
则需要 “以管理员身份运行” PowerShell。
Set-ExecutionPolicy RemoteSigned
若仍报错,可修改策略为:
Set-ExecutionPolicy Unrestricted