You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell中文件加载报错‘文件非UTF-8编码’问题求助

问题原因

PowerShell里的echo命令(本质是Write-Output的别名)执行>>追加操作时,默认使用**UTF-16 LE(Unicode)**编码写入内容,但你在JupyterLab中手动创建文件时用的是UTF-8编码,两种编码混合后,文件不再是纯UTF-8格式,导致JupyterLab无法识别加载;而Get-Content会自动检测文件编码,所以能正常读取内容。

解决办法

1. 追加内容时指定UTF-8编码

放弃echo >>的用法,改用支持指定编码的命令:

  • 使用Add-Content:
    Add-Content -Path "test.txt" -Value "abc" -Encoding UTF8
    
  • 或者用管道配合Out-File:
    "abc" | Out-File -Path "test.txt" -Append -Encoding UTF8
    

2. 修复已损坏编码的文件

对已经出现编码问题的文件,重新转为纯UTF-8:

Get-Content "test.txt" | Out-File -Path "test.txt" -Encoding UTF8

执行后JupyterLab即可正常打开该文件。

3. 永久设置PowerShell默认输出编码为UTF-8

让后续所有输出/追加操作默认使用UTF-8:

  1. 检查是否存在PowerShell配置文件:
    Test-Path $PROFILE
    
  2. 如果返回False,创建配置文件:
    New-Item -Path $PROFILE -ItemType File -Force
    
  3. 打开配置文件,添加以下内容并保存:
    $PSDefaultParameterValues['Out-File:Encoding'] = 'UTF8'
    $PSDefaultParameterValues['Add-Content:Encoding'] = 'UTF8'
    
  4. 重启PowerShell后设置生效。

内容的提问来源于stack exchange,提问作者Chau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 19:23:20