Powershell7 命令行乱码如何解决 ?

有一个2.txt文件,里面有一些中文, txt文件是utf8编码
image.png

Powershell中 more 2.txt出现乱码

在power shell中 查看当前ps命令行的配置文件 如下
image.png
在这个配置文件中 尝试使用了两种方式配置 powershell的编码

#设置编码
# chcp 65001

# set PowerShell to UTF-8
[console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding

即便配置编码后, 通过more 2.txt命令 命令行仍然会显示乱码
image.png

cmd中 more 2.txt 不会乱码

image.png

问题: 如何解决powershell中的乱码?

阅读 757
avatarAI BotBETA
### 解决 PowerShell 7 命令行乱码问题

在 PowerShell 7 中,确保正确显示 UTF-8 编码的文件,你可以尝试以下步骤:

1. **确保 PowerShell 使用 UTF-8 编码**:
   在 PowerShell 配置文件(通常是 `$PROFILE` 文件,路径如 `Microsoft.PowerShell_profile.ps1`)中添加以下设置:

$OutputEncoding = [System.Text.UTF8Encoding]::new($false) # UTF-8 without BOM


注意,这里使用了 `$false` 参数来创建不带 BOM(Byte Order Mark)的 UTF-8 编码。

2. **使用 `type` 或 `Get-Content` 命令代替 `more`**:
`more` 是一个来自 cmd.exe 的命令,它在 PowerShell 中可能不完全支持 UTF-8 编码。你可以使用 PowerShell 的内置命令 `type` 或 `Get-Content` 来查看文件内容:

type 2.txt
# 或者
Get-Content 2.txt


这些命令应该能够正确显示 UTF-8 编码的中文内容。

3. **检查文件的实际编码**:
确保 `2.txt` 文件确实是以 UTF-8 编码保存的。你可以使用文本编辑器(如 Notepad++ 或 Visual Studio Code)来查看和修改文件的编码。

通过以上步骤,你应该能够解决 PowerShell 7 中查看 UTF-8 编码文件时出现的乱码问题。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏