Windows 11记事本默认UTF-8带BOM易致乱码,可通过五种方法解决:一、注册表设iDefaultEncoding为65001启用UTF-8;二、替换Templates模板为无BOM文件;三、PowerShell用UTF8NoBOM生成模板;四、用Notepad++转码并设为默认程序;五、调整系统区域设置为中文(简体,中国)。
如果您在Windows 11中使用记事本新建或保存文本文件时,默认编码为ANSI或UTF-8 with BOM,导致中文或其他多语言字符在部分环境(如网页、脚本运行)中显示异常,则需主动修改记事本的默认编码行为。以下是实现默认UTF-8无BOM保存的多种方法:
一、通过注册表强制记事本默认使用UTF-8编码
记事本启动时默认采用系统ANSI代码页解析无BOM文件,易引发乱码;修改注册表可使新建和打开文件时优先以UTF-8(代码页65001)读取与保存,且不带BOM。
1、按Win + R组合键,输入regedit并回车,打开注册表编辑器。
2、导航至路径:HKEY_CURRENT_USER\Software\Microsoft\Notepad。
3、在右侧空白处右键 → 新建 → DWORD (32位)值,命名为iDefaultEncoding。
4、双击该值,将“数值数据”设为65001,基数选择“十进制”。
5、关闭注册表编辑器,重启记事本程序,此后新建文档及未指定编码的打开操作均默认使用UTF-8。
二、设置记事本保存时不添加BOM
Windows记事本在选择UTF-8编码保存时默认写入BOM(字节顺序标记),而多数Web标准与脚本解释器要求UTF-8无BOM格式;仅靠注册表无法禁用BOM,需配合模板文件或第三方工具实现无BOM输出。
1、新建一个空白文本文档,输入任意内容(如一个空格),保存为UTF-8格式。
2、使用支持无BOM保存的编辑器(如Notepad++)重新打开该文件,执行“编码 → 转为UTF-8无BOM”。
3、另存为名为TXTUTF8NOBOM.txt,并复制其完整二进制内容(不含任何字符)。
4、将该文件设为系统新建模板:进入路径%USERPROFILE%\Templates,替换或新建同名模板文件。
三、使用命令行创建UTF-8无BOM模板文件
PowerShell原生命令可精确控制BOM写入行为,利用Out-File -Encoding UTF8NoBOM可生成标准无BOM文件,作为记事本新建操作的底层模板来源。
1、以管理员身份打开Windows终端。