【Cursor】关于AI开发遇到终端和源码文件UTF8编码不一致解决办法

沉梦小哥哥
预计阅读时长 7 分钟
位置: 首页 杂七杂八 正文

最近使用cursor或vscode开发时,遇到编码问题,具体表现:AI或者你创建的源码文件和写入的内容是UTF8没问题,但当AI编码工作时调用读取出来时却提示乱码,实际是对的但一通乱改反而文件乱码了


以下为AI提供的解决办法(亲测有效)

1. 当前窗口立刻生效(临时)

PowerShell 里执行:

chcp 65001
[Console]::OutputEncoding = [System.Text.UTF8Encoding]::new($false)
[Console]::InputEncoding  = [System.Text.UTF8Encoding]::new($false)
$OutputEncoding           = [System.Text.UTF8Encoding]::new($false)

验证:

chcp
# 应显示:Active code page: 65001

2. 让 PowerShell 每次打开都是 UTF-8(推荐)

  1. 查看 profile 路径:

    echo $PROFILE
  2. 若文件不存在则创建:

    if (!(Test-Path $PROFILE)) { New-Item -Path $PROFILE -ItemType File -Force }
    notepad $PROFILE
  3. 写入:

# UTF-8 终端编码
chcp 65001 > $null
[Console]::OutputEncoding = [System.Text.UTF8Encoding]::new($false)
[Console]::InputEncoding  = [System.Text.UTF8Encoding]::new($false)
$OutputEncoding           = [System.Text.UTF8Encoding]::new($false)

保存后新开一个终端生效。


3. 让 Cursor 集成终端默认 UTF-8(最省事)

打开 Cursor 用户设置 JSON:

%APPDATA%\Cursor\User\settings.json

加入(或合并):

{
"terminal.integrated.profiles.windows": {
"PowerShell (UTF-8)": {
"source": "PowerShell",
"args": [
"-NoExit",
"-Command",
"chcp 65001 > $null; [Console]::OutputEncoding = [Text.UTF8Encoding]::UTF8; [Console]::InputEncoding = [Text.UTF8Encoding]::UTF8; $OutputEncoding = [Text.UTF8Encoding]::UTF8"
]
}
},
"terminal.integrated.defaultProfile.windows": "PowerShell (UTF-8)"
}

然后 关闭所有终端标签 → 新建终端


4. Windows 系统级 UTF-8(一劳永逸,需重启)

  1. Win + R → 输入 intl.cpl → 回车

  2. 管理更改系统区域设置

  3. 勾选:Beta: 使用 Unicode UTF-8 提供全球语言支持

  4. 确定 → 重启电脑

适合长期开发;个别老软件可能有兼容问题,但现代项目一般没问题。


5. 可选:改用 PowerShell 7

PowerShell 7(pwsh)对 UTF-8 支持更好。安装后可在 Cursor 里设:

"terminal.integrated.defaultProfile.windows": "PowerShell"

并确保用的是 PowerShell 7 而不是 Windows PowerShell 5.1。


-- 展开阅读全文 --
头像
【php杂谈】 宝塔面板 CentOS 7.x系统Nginx安装swoole-v5教程
« 上一篇 2025-03-15
没有更多啦!
下一篇 »
取消
微信二维码
微信二维码
支付宝二维码

最近发表

标签列表

目录[+]