批处理文件编码问题
来源:互联网 发布:手机淘宝整点秒杀 知乎 编辑:程序博客网 时间:2024/05/14 09:26
折腾了一早上的批处理格式,一直出错,总是把我设置的常量当命令,无法识别。终于发现是编码的问题。
Windows 批处理文件的编码格式
"控制台窗口 属性 -> 选项 -> 默认代码页" 中可以设置当前代码页.
1>. 如果当前代码页是 437(OEM - 美国), 则批处理路径和命令中的中文字符均不能被识别;
2>. 如果当前代码页是 936(ANSI/OEM - 简体中文 GBK), 那么当 .bat 文件以 ANSI 编码时, 路径以及命令参数中的中文字符可以正确识别; 以UTF-8 without BOM 编码时, .bat 文件虽然可被识别, 但其中的中文字符和中文路径是不能识别的.
所以, 如果处理的命令或路径中包含中文字符, 请使用 ANSI 编码, 否则执行会出错.
另外:
1>. ANSI 和 UTF-8 without BOM 编码的 .bat 文件能被识别是因为文件头未插入任何特殊字节;
2>. UTF-8, Unicode(UCS-2 Little Endian) 以及 Unicode big endian(UCS-2 Big Endian) 编码的 .bat 文件执行时,提示"×××不是内部或外部命令,也不是可运行的程序或批处理文件。" , 这是因为这三种编码格式的文件默认在文件头插入了特殊字节(即 BOM: Byte Order Mark). UTF-8 在文件头插入了 3 个字节 EF BB BF, Unicode 在文件头插入了 2 个字节 FF FE, Unicode big endian 在文件头插入了 2 个字节 FE FF. 它们不是 Windows 所能识别的命令, 所以相应编码格式的 .bat 文件执行出错.
- 批处理文件编码问题
- Windows 批处理文件的编码格式
- Windows 批处理文件的编码格式
- bat批处理文件问题
- 批处理文件路径问题
- Java环境变量批处理文件设置问题
- 一个BAT批处理文件的问题
- 批处理文件调用.EXE的问题
- 批处理文件 路径带空格问题
- 批处理文件的相对路径问题
- 批处理文件的相对路径问题
- 批处理文件
- 批处理文件
- 批处理文件
- 批处理文件
- 批处理文件
- 批处理文件
- 批处理文件
- 如何干掉机房监控系统的学生端
- Epoll ET模型下EPOLLOUT事件的处理
- 进程同步与互斥基础
- POJ 1061 扩展欧几里德
- git 怎么为开源项目做贡献,怎么有效管理贡献者的提交
- 批处理文件编码问题
- POJ P1611 The Suspects
- request.getParameter("")的返回值问题
- Ubuntu 12.04 & 13.04 安装 GCC4.8.1
- hud Step5.1.6 3635 Dragon Balls(并查集)
- listview更改选中时item背景色
- 镜像文件和虚拟光驱
- 实例讲解虚拟机3种网络模式(桥接、nat、Host-only)
- Matrix Swapping II