如何使用cmd将txt文件编码转换为Windows-1251、OEM866、UTF-8
CMD原生实现TXT文件编码转换方案
错误原因说明
你之前使用的cmd /u参数会强制将命令输出以UTF-16编码写入管道,因此即便提前执行了chcp 866切换代码页,最终输出的文件仍然为UTF-16格式,不符合预期。
通用前置操作
- 转换前备份原始TXT文件,避免数据丢失
- 提前确认原始文件编码可被当前CMD环境正常读取,避免转换后出现乱码
各编码转换操作步骤
转换为OEM866编码
- 执行代码页切换命令:
chcp 866 - 执行转换命令:
cmd /c /d type 源文件.txt > 866_编码文件.txt
转换为Windows-1251编码
- 执行代码页切换命令:
chcp 1251 - 执行转换命令:
cmd /c /d type 源文件.txt > 1251_编码文件.txt
转换为UTF-8编码
- 执行代码页切换命令:
chcp 65001 - 执行转换命令:
cmd /c /d type 源文件.txt > utf8_编码文件.txt
转换结果验证
执行chcp切换到对应目标编码的代码页后,用type 转换后文件.txt命令查看内容,无乱码即为转换成功。
内容的提问来源于stack exchange,提问作者Dima Zhogin
相关产品推荐
相关产品推荐

