Windows 怎么查看文件字符集?一文讲清楚,附最实用方法
在 Windows 里,很多人会遇到这种情况:
打开一个文本文件,里面全是乱码;
或者用记事本、VS Code 打开后,中文显示不正常;
这时候,问题往往不是文件坏了,而是文件编码 / 字符集不对。
很多人搜索“Windows 怎么查看文件字符集”,其实真正想解决的是:
- 这个文件到底是 UTF-8、GBK、ANSI 还是 Unicode?
- 怎么判断它的编码?
- 乱码文件怎么打开才正确?
- 需要修改编码时该怎么做?
下面我就按新手也能看懂的方式,把这件事讲透。
一、先搞清楚:文件字符集和编码到底是什么
很多人把“字符集”和“编码”混着说,其实平时查看文件时,我们更常看的其实是文件编码格式。
1. 字符集是什么
字符集可以理解为:
“这个世界上的文字有哪些”。
比如:
- ASCII:只包含英文、数字、常见符号
- GBK:主要支持简体中文
- UTF-8:支持全球大多数语言,兼容性最好
2. 编码是什么
编码就是:
“这些文字在电脑里怎么存”。
同样一段文字:
- 用 UTF-8 存,文件内容是一种写法
- 用 GBK 存,文件内容又是另一种写法
所以你看到乱码,通常不是内容错了,而是打开方式和保存方式不一致。
二、Windows 查看文件字符集的几种常用方法
下面按“最简单 → 更准确 → 专业工具”来讲。
方法 1:用记事本查看和识别编码
这是 Windows 自带、最容易上手的方法。
操作步骤
- 找到你的文本文件
- 右键文件,选择 “打开方式”
- 选 “记事本”
- 看里面文字是否正常显示
怎么判断
如果显示正常,说明编码大概率没问题。
如果出现乱码,比如:
- 变成一堆奇怪符号
- 中文显示成问号
- 部分内容正常、部分乱码
那就说明文件编码和当前打开方式不匹配。
进一步查看编码
Windows 记事本新版一般不能直接显示文件当前编码,但你可以通过“另存为”间接查看:
- 在记事本中打开文件
- 点 “文件” → “另存为”
- 在保存窗口底部会看到编码选项,例如:
- UTF-8
- ANSI
- Unicode
- Unicode big endian
这能帮助你判断当前文件常见编码类型。
适合谁
- 电脑小白
- 只是想快速看文件能不能正常打开的人
不足
- 不能准确识别所有文件编码
- 对复杂文本、混合编码文件不够稳定
方法 2:用 Windows PowerShell 查看文件编码特征
如果你想更准确一点,可以用 PowerShell。
先说明一点
PowerShell 不能像专业编辑器那样一键直接“显示编码名称”,但它可以通过文件内容特征判断是否为:
- UTF-8 with BOM
- UTF-8 without BOM
- UTF-16
- 其他编码
查看文件前几个字节
打开 PowerShell,输入:
Get-Content "C:\你的文件路径\test.txt" -Encoding Byte -TotalCount 4
或者更常见的方法:
Format-Hex "C:\你的文件路径\test.txt"
常见文件头判断
看前几个字节:
EF BB BF→ UTF-8 BOMFF FE→ UTF-16 LEFE FF→ UTF-16 BE- 没有 BOM → 可能是 UTF-8 无 BOM、GBK、ANSI 等,需要进一步判断
适合谁
- 会一点命令行
- 想判断是不是 UTF-8 / UTF-16
- 需要批量排查文件
注意
如果是中文 Windows 环境下的“ANSI”,实际上常常指的是GBK / GB2312 / 系统默认代码页,这不是一个固定编码名,要结合系统环境看。
方法 3:用 Notepad++ 查看文件编码,最方便也最实用
如果你经常处理文本文件,Notepad++ 是最推荐的工具。
为什么推荐它
因为它能直接显示文件编码,非常直观。
操作步骤
- 安装 Notepad++
- 用 Notepad++ 打开文件
- 看窗口底部状态栏,通常会显示编码信息
- 或者点菜单 “编码”,查看当前文件编码
你能看到什么
常见会显示:
- UTF-8
- UTF-8-BOM
- ANSI
- UCS-2 LE BOM
- UTF-16 LE
- GBK(某些版本或插件环境下可见)
适合谁
- 经常接触代码、配置文件、日志文件的人
- 想快速识别乱码原因的人
- 需要修改编码后再保存的人
优点
- 显示明确
- 支持打开后直接转换编码
- 比记事本强很多
方法 4:用 VS Code 查看文件编码
如果你是程序员、运维、做网站或者经常编辑配置文件,VS Code 也非常好用。
查看方法
- 用 VS Code 打开文件
- 看右下角状态栏
- 会显示当前编码,比如:
- UTF-8
- GBK
- UTF-16 LE
如何判断
点击右下角编码名称后,可以看到:
- 以当前编码重新打开
- 以其他编码打开
- 另存为其他编码
适合谁
- 开发者
- 运维人员
- 处理代码、日志、配置文件的人
优点
- 支持非常多编码
- 能准确查看和转换
- 适合专业使用
方法 5:用 PowerShell 批量检测文本文件编码
如果你手上有一堆文件,需要批量排查,这个方法很实用。
适用场景
- 网站源码很多文件
- 日志文件很多
- 配置文件大量乱码
- 需要判断哪些文件是 UTF-8,哪些是 GBK
思路
先读取文件前几个字节判断 BOM;
如果没有 BOM,再结合内容尝试识别。
简单判断 UTF-8 BOM 的脚本
$path = "C:\你的文件路径\test.txt"
$bytes = Get-Content $path -Encoding Byte -TotalCount 3
if ($bytes[0] -eq 239 -and $bytes[1] -eq 187 -and $bytes[2] -eq 191) {
Write-Output "UTF-8 BOM"
} else {
Write-Output "没有UTF-8 BOM"
}
判断 UTF-16 LE
$path = "C:\你的文件路径\test.txt"
$bytes = Get-Content $path -Encoding Byte -TotalCount 2
if ($bytes[0] -eq 255 -and $bytes[1] -eq 254) {
Write-Output "UTF-16 LE"
} elseif ($bytes[0] -eq 254 -and $bytes[1] -eq 255) {
Write-Output "UTF-16 BE"
} else {
Write-Output "不是UTF-16 BOM"
}
注意
没有 BOM 的文件,PowerShell 不一定能百分百准确判断编码,因为 UTF-8 无 BOM 和 GBK 都可能没有明显文件头。
三、怎么判断文件是 UTF-8 还是 GBK?
这是很多人最关心的问题。
1. 看文件是否有 BOM
如果文件开头是:
EF BB BF→ 基本可以确定是 UTF-8 BOMFF FE→ UTF-16 LE
2. 用编辑器打开看是否乱码
如果文件在 Notepad++ 或 VS Code 里:
- 用 UTF-8 打开正常 → 可能是 UTF-8
- 用 GBK 打开正常 → 可能是 GBK
- 两种打开都不对 → 可能文件损坏或混合编码
3. 看来源
有时候来源能帮助判断:
- 老系统导出的文件:常见 GBK
- 新程序、网页、Linux 服务器输出:多为 UTF-8
- Windows 记事本保存的中文文件:可能是 ANSI 或 UTF-8
4. 文件内容是否包含中文
如果是纯英文文本,UTF-8 和 ANSI 看起来可能没区别。
如果有中文,编码差异就会很明显。
四、文件乱码了,怎么正确打开?
如果你打开文件乱码,不要急着保存,先按下面方法试。
方法 1:换编码重新打开
在 Notepad++ 或 VS Code 中:
- 关闭当前错误打开的文件
- 选择“以编码重新打开”
- 依次尝试:
- UTF-8
- UTF-8-BOM
- GBK
- ANSI
- UTF-16 LE
直到文字正常显示为止。
方法 2:不要直接覆盖保存
如果你在乱码状态下直接保存,可能会把原文件彻底改坏。
正确做法是:
- 先用正确编码打开
- 确认内容正常
- 再另存为你需要的编码
方法 3:网页或数据库导出的文件要看导出编码
很多乱码不是本地 Windows 问题,而是导出时编码选错了。
比如:
- 数据库导出 CSV 是 GBK
- 你用 UTF-8 打开
- 就会乱码
这时候要按源文件编码重新打开。
五、如何把文件编码转换成正确格式
如果你已经确认文件编码不对,可以转码。
用 Notepad++ 转换
- 用 Notepad++ 打开文件
- 点击菜单 “编码”
- 选择:
- 转为 UTF-8
- 转为 UTF-8-BOM
- 转为 ANSI
- 转为 UCS-2 LE BOM
- 再保存
建议
现在大多数场景下,推荐优先使用:
- UTF-8
- 如果是某些老软件兼容问题,再考虑 ANSI/GBK
用 VS Code 转换
- 打开文件
- 点击右下角编码
- 选择 “通过编码重新打开”
- 选择正确编码
- 再点击 “另存为编码”
- 保存为目标编码
六、Windows 里“ANSI”到底是什么
这是很多人最容易误解的地方。
在 Windows 里看到“ANSI”,不要以为它就是标准意义上的 ANSI。
实际上它通常指的是:
- 系统当前的默认代码页
- 中文系统里通常就是 GBK 相关编码
也就是说:
- 中文 Windows 上的 ANSI ≈ GBK
- 英文系统上的 ANSI 可能是别的语言环境代码页
所以如果别人给你一个“ANSI 文件”,不要直接理解成固定格式,最好结合系统和来源判断。
七、常见场景怎么处理
场景 1:记事本打开文件全是乱码
处理方法:
- 用 Notepad++ 打开
- 轮流尝试 UTF-8、GBK、UTF-16
- 找到正常显示的编码后另存为 UTF-8
场景 2:网站配置文件中文乱码
处理方法:
- 先确认文件编码
- 网站程序通常建议统一 UTF-8
- 如果是旧程序,可能要用 GBK
场景 3:CSV 文件打开乱码
处理方法:
- Excel 经常会误判编码
- 可以用“数据导入”方式选择编码
- 或先用 Notepad++ 查看并转码
场景 4:日志文件乱码
处理方法:
- 先确认程序输出编码
- Linux 服务器日志多为 UTF-8
- Windows 程序可能是 GBK 或系统默认编码
八、最推荐的查看方案
如果你只是普通用户,我建议这样做:
最简单方案
- 用 Notepad++
- 打开文件
- 看底部编码
- 必要时转换编码
更专业方案
- 用 VS Code
- 或用 PowerShell + Format-Hex
- 适合批量检查、排查服务器文件
不建议的方法
- 直接在乱码状态下保存
- 盲目修改编码
- 用系统自带记事本反复试错后覆盖原文件
九、几个实用小技巧
1. 先备份再改编码
只要文件很重要,先复制一份再处理,避免误操作。
2. 统一使用 UTF-8
如果你是自己写文档、代码、配置文件,尽量统一保存成 UTF-8,兼容性最好。
3. 不同软件可能默认编码不同
- 记事本
- Word
- Excel
- Notepad++
- VS Code
它们对编码的处理方式不完全一样,不要混用判断。
4. 纯英文文件很难判断编码
如果文件里没有中文,UTF-8 和 ANSI 看起来可能完全一样,这种情况只能结合文件来源判断。
十、总结:Windows 怎么查看文件字符集
如果你想快速记住,直接记这几条就够了:
- 最简单:用记事本打开,看是否乱码
- 最实用:用 Notepad++,菜单和状态栏能直接看编码
- 最专业:用 VS Code 或 PowerShell 查看文件头
- 想确认 UTF-8/UTF-16:看文件头字节最准确
- 乱码文件别急着保存,先确认编码再操作
十一、给新手的最终建议
如果你是电脑小白,遇到“Windows 怎么查看文件字符集”这个问题,直接按这个顺序做就行:
第一步
下载并安装 Notepad++
第二步
用它打开文件
第三步
看底部显示的编码
第四步
如果乱码,就依次尝试:
- UTF-8
- GBK
- ANSI
- UTF-16 LE
第五步
确定正确后,另存为你需要的编码,推荐 UTF-8
这样基本就能解决 90% 的文件编码问题。
如果你愿意,我还可以直接给你整理一份:
“Windows 下查看文件编码的图文操作版”,按记事本、Notepad++、VS Code、PowerShell 四种方法分别写成一步一步教程。

还没有评论,来说两句吧...