notepad++显示乱码主因是编码不匹配而非文件损坏;默认按系统ansi(如gbk)读取,遇utf-8等编码即错解;右下角编码标识仅为当前识别结果,需手动尝试“以某编码打开”再“转为”以安全转换;建议设默认新建编码为utf-8并勾选“以utf-8格式打开所有文件”。

Notepad++ 打开文件显示乱码,90% 是编码不匹配,不是文件损坏,别急着重装。
为什么 Notepad++ 会显示乱码
Notepad++ 默认按当前系统 ANSI 编码(比如中文 Windows 是 GBK)读取文件;如果文件实际是 UTF-8、UTF-8-BOM 或 ISO-8859-1 等编码,就会错位解析字节,表现为方块、问号、倒乱字符或部分文字正常但标点错乱。
常见诱因:
- 从网页复制粘贴内容后保存,浏览器常以 UTF-8 输出,但 Notepad++ 没自动识别
- Git 提交的文件在不同系统间流转(Linux/macOS 默认 UTF-8,Windows 记事本默认 ANSI)
- 用 Python / VS Code 等工具保存为 UTF-8 无 BOM,Notepad++ 有时无法准确探测
快速判断当前文件编码
看右下角状态栏:它显示的是 Notepad++「当前认为」的编码,不是文件真实编码。这个值可能不准,但它是你操作的起点。
更可靠的方法是:
- 菜单栏点击
编码→ 观察哪些选项后面带勾(当前识别结果) - 依次尝试点击
编码 → 转为 ANSI、转为 UTF-8、转为 UTF-8-BOM,看哪一种能还原出可读文字 - 如果切换后中文正常但英文标点仍异常(如引号变“”),大概率是 UTF-8 无 BOM 被误判为 ANSI,优先试
转为 UTF-8
安全转成 UTF-8 的三步操作
直接点 转为 UTF-8 有风险:若当前识别错误,会把乱码再“固化”一次。务必按顺序来:
- 先用
编码 → 以 UTF-8 格式编码(注意是「以…编码」,不是「转为」)—— 这步不改变内容,只告诉 Notepad++ “请按 UTF-8 解释现有字节” - 如果显示正常,再点
编码 → 转为 UTF-8—— 这步才真正把文件内容重新编码为 UTF-8 字节并保存 - 保存前确认右下角已显示
UTF-8,且文字完全可读;否则 Ctrl+Z 撤回,换其他编码重试
⚠️ 注意:转为 UTF-8-BOM 会在文件头加 EF BB BF 三个字节,某些脚本(如 Python 3.12+ 的 shebang 行)或旧系统可能报错;普通文本编辑推荐用无 BOM 的 UTF-8。
让新文件默认用 UTF-8,避免重复踩坑
Notepad++ 不会记住你上次选的编码,新文件默认继承系统 ANSI。要改默认行为:
- 菜单栏
设置 → 首选项 → 新建文档/默认目录
- 在
新建文档编码 下拉框中选择 <code>UTF-8(不是 UTF-8-BOM) - 勾选
以 UTF-8 格式打开所有文件(推荐)—— 这个选项会让 Notepad++ 尝试用 UTF-8 解析未知编码文件,对多数现代文本更友好
改完后,下次新建或拖入未识别编码的文件,会更大概率正确显示。但对已存在的乱码文件,仍需手动判断并转换。
最麻烦的情况是文件里混了多种编码(比如一段 GBK 日志插了一行 UTF-8 的报错),这种没法全自动修复,得靠肉眼比对 + 分段转换。别迷信“一键转码”插件,它们同样依赖初始编码判断是否准确。











