nppconverter 自 v7.9 起被官方移除,因其依赖淘汰的旧插件架构;手动复制 dll 无效,应改用内置编码菜单、python script 脚本、nppexec+iconv 或第三方 converter 插件。

Notepad++ v7.9+ 找不到 NppConverter 是正常现象
不是你装错了,是它真没了。v7.9 起官方彻底移除了 NppConverter 插件,因为它依赖已淘汰的旧插件架构(Docking Plugin API v1)。你升级后在“编码”菜单里看不到“NppConverter”,或插件管理器搜不到它,属于预期行为。手动把旧版 NppConverter.dll 复制进 plugins 目录也没用——新版 Notepad++ 会直接忽略,甚至报错 Plugin initialization failed。
推荐三种真正可用的批量转码方案
按适用场景和可控性排序,不是越复杂越好:
-
内置“编码”菜单 + 宏录制:适合一次性处理几十个同编码文件(比如全为 GBK 的日志)。操作路径:
宏 → 开始录制 → 手动打开一个文件 → 编码 → 转为 UTF-8 → 保存 → 关闭 → 停止录制。之后用查找 → 在文件中查找批量打开目标文件,再运行宏。注意:必须先用“在文件中查找”把所有文件都打开,宏才对全部生效。 -
Python Script 插件 + 自定义脚本:适合混合编码、需自动检测(如
chardet)、或要加逻辑过滤(如只转.cpp和.h)。关键点:notepad.runMenuCommand("Encoding", "Convert to UTF-8")这行必须在英文界面下运行;中文菜单名会导致命令失效。脚本里别用notepad.saveAs()直接覆盖原文件,会弹确认框中断流程,改用notepad.save()+notepad.close()更稳。 -
NppExec + iconv:适合熟悉命令行、且需要高吞吐(实测 100 文件比 Python 脚本快近一倍)。Windows 下先用
choco install libiconv安装iconv,然后写 NppExec 脚本:cd "$(CURRENT_DIRECTORY)" && iconv -f GBK -t UTF-8 "$(FILE_NAME)" > "$(NAME_PART)_utf8$(EXT_PART)"。优势是不依赖 Notepad++ 内部编码解析,绕过字符边界误判风险。
Converter 插件还能用吗?
能,但得手动找。它不是官方插件管理器里的“正规军”,而是第三方维护的兼容版,名字就叫 Converter(注意不是 NppConverter)。安装方式是下载 ZIP 包,解压到 plugins\Converter 目录,重启生效。它的优势是预设了 GBK/UTF-8/Big5 等常用映射,点选即转,适合非技术用户。但注意:它不支持自动编码检测,也不处理 BOM 细节,纯靠人工指定源编码——如果选错,乱码会更严重。
最容易被忽略的细节
三个实际踩坑点:一是 Notepad++ 必须以普通用户权限运行,否则 Python Script 菜单常灰显;二是脚本里路径含中文时,os.walk() 可能抛 UnicodeDecodeError,建议统一用英文路径;三是 Convert to UTF-8 默认不带 BOM,但某些 Windows 工具(如旧版 Excel)必须 BOM 才认,这时得选 Convert to UTF-8-BOM,别混用。











