Notepad++打开GBK文件乱码需先以GBK或GB18030正确解析显示,再执行“编码→转为UTF-8”并Ctrl+S保存;直接“另存为UTF-8”不触发重编码,仅改标签,无效。

Notepad++打开GBK文件显示乱码,先别急着转编码
根本原因是 Notepad++ 当前按错误编码(比如 UTF-8 或 ANSI)解析了 GBK 字节流,直接点「转为 UTF-8」只会把乱码内容再固化一次。必须先让文字“看起来对”,再动手转换。
操作要点:
- 点击菜单
编码 → 字符集 → 中文 → GBK(或GB18030,兼容性更好);如果中文立刻清晰、标点正常,说明原始就是 GBK - 若仍乱码,退回并尝试
GB2312或Big5;不推荐靠“猜”,优先试GB18030,它能向下兼容 GBK 和 GB2312 - 确认显示正常后,右下角状态栏应显示
GBK或ANSI(Windows 下 ANSI 常指 GBK),这是你后续操作的基准
执行「转为 UTF-8」前,务必确认三件事
Notepad++ 的 编码 → 转为 UTF-8 不是“另存为”,而是内存重编码 + 覆盖写入。漏掉任一环节,结果仍是 GBK。
检查清单:
- 当前标签页文字已完全可读(无方块、无问号、无错位标点)
- 右下角状态栏显示的是原始编码(如
GBK),不是UTF-8—— 如果已经显示UTF-8,说明你之前误操作过,得先Ctrl+Z撤回 - 没点「另存为」,也没在弹窗里选编码;正确路径是:菜单
编码 → 转为 UTF-8(或转为 UTF-8 无 BOM),然后立刻按Ctrl+S
为什么「另存为」选 UTF-8 没用?
因为 文件 → 另存为 默认只改保存路径和文件名,不触发重编码。你看到的「UTF-8」下拉选项,只是告诉 Notepad++ “下次以这个编码打开它”,和当前内容字节无关。
常见错误现象:
- 打开一个 GBK 文件 → 点「另存为」→ 编码选
UTF-8→ 保存 → 用记事本打开还是乱码 - 原因:文件磁盘字节仍是 GBK,只是 Notepad++ 给它打了个错误的 UTF-8 标签
- 补救办法:重新用 GBK 打开 →
编码 → 转为 UTF-8→Ctrl+S,这才是真实转换
批量转多个 GBK 文件,别依赖 Notepad++ 内置功能
Notepad++ 没有真正意义上的批量编码转换能力。所谓“批量”,本质是手动切标签页 + 重复点菜单,极易漏保存、错标签、中途崩溃。
更可靠的做法是用 iconv 命令行工具(Git Bash / WSL / Windows portable 版都支持):
iconv -f GBK -t UTF-8 -c input.txt > output.txt
说明:
-
-f GBK明确指定源编码,绕过 Notepad++ 的自动探测失准问题 -
-c跳过非法字节(比如 GBK 文件里混入了 UTF-8 的 emoji),避免中断 - 批量处理时用循环:
for f in *.txt; do iconv -f GBK -t UTF-8 -c "$f" > "utf8_${f}"; done - 转完后,用 Notepad++ 打开几个
utf8_*.txt,看右下角是否稳定显示UTF-8且内容无异常——这是唯一可信的验证方式
最易被忽略的一点:转完 UTF-8 后,如果用 Windows 记事本打开仍乱码,不是转换失败,而是记事本默认不识别无 BOM 的 UTF-8。此时应选 转为 UTF-8-BOM,或改用 VS Code、Notepad++ 等现代编辑器打开。


















