
Notepad++ 保存文件时默认不是 UTF-8,怎么改?Notepad++ 新建文件默认用的是 ANSI(Windows 系统本地编码,比如 GBK),不是 UTF-8。直接点「保存」会存成乱码风险高的格式,尤其含中文、emoji 或跨平台协作时。在菜单栏点 设置 → 首选项 → 新建/打开 找到 新建文档的默认编码 下拉框,选 UTF-8(别选 UTF-8-BOM,除非明确需要) 勾上 以 UTF-8 无 BOM 格式保存新文档(这个勾选才真正生效) 关闭后新建的文件才默认走 UTF-8;已打开的旧文件不受影响,需手动转
注意:UTF-8-BOM 开头多三个字节 EF BB BF,某些脚本(如 Python、Shell)会报 SyntaxError: Non-UTF-8 code starting with ‘\xef’,Node.js 也可能读取异常。
已打开的文件怎么快速转成 UTF-8?文件右上角显示当前编码(如 ANSI、UTF-8-BOM),点菜单栏 编码 → 转为 UTF-8 即可。这不是“另存为”,而是内存中重解码再写回——但有前提:如果原内容是 GBK 编码却误标成 ANSI,直接点「转为 UTF-8」会变乱码(因为 Notepad++ 按当前标记编码读字节,再按 UTF-8 写出) 正确做法:先确认原始编码 → 编码 → 字符集 → 中文 → GBK(或对应编码)→ 再点 编码 → 转为 UTF-8 转完立刻点「保存」,否则关掉就丢
常见错误现象:编码 → 转为 UTF-8 后中文变方块或问号,说明原始编码识别错了,得退回重新指定。
为什么有些文件「转为 UTF-8」后大小没变,有些却变大了?这和是否含 BOM 及换行符有关:UTF-8(无 BOM):纯文本字节数基本不变(ASCII 字符占 1 字节,中文通常 3 字节) UTF-8-BOM:开头强制加 3 字节 EF BB BF,文件大小 +3 Windows 换行符 \r\n(2 字节)比 Unix 的 \n(1 字节)多占空间,但和编码无关 若原文档是 GBK,一个中文占 2 字节;转成 UTF-8 后占 3 字节,整体体积增大约 50%
性能影响几乎可忽略,但 Git 提交时若混用 UTF-8 和 UTF-8-BOM,diff 会把 BOM 当作修改,CI 流水线可能误判。
批量转换多个文件的 UTF-8 编码,能自动化吗?Notepad++ 自带功能不支持批量转码保存,但可通过插件或外部工具补足:安装插件 Python Script(需先装 Python 运行时),写脚本遍历并调用 NppToUtf8() 函数 更稳妥的做法:用命令行工具,比如 iconv(Linux/macOS 自带,Windows 可装 git-bash 或 cygwin) iconv -f GBK -t UTF-8 input.txt -o output.txt注意路径含空格时要加引号,且 iconv 不覆盖原文件,必须用 -o 指定输出
容易踩的坑:没确认源编码就硬转,结果批量制造乱码文件;或者用 notepad++.exe /a file.txt 命令行打开时,编码状态不继承全局设置,仍按文件自身 BOM 或内容推测。
BOM 是最常被忽略的细节——它看不见,但 Python 解释器、Webpack、甚至某些 JSON 解析器会直接报错,而不是警告。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)