命令行.bat乱码实践-失败

命令行.bat乱码实践-失败 对于因设置JAVA_TOOL_OPTIONS-Dfile.encodingUTF-8导致H5页面乱码以及Windows命令窗口javac编译出现繁体字的问题可以采用以下解决方法### 解决H5页面乱码问题在编译Java代码时采用指定编码方式的方法而非依赖环境变量JAVA_TOOL_OPTIONS。在javac命令后面添加-encoding utf-8示例如下javac HelloWorld.java -encoding utf-8这样编译时就以UTF - 8形式编译避免因环境变量设置导致的H5页面乱码问题。将命令提示符编码永久改为UTF-8兼容全局设置如果不希望删除环境变量例如其他应用依赖此设置则可以修改命令提示符的默认编码为UTF-8。修改注册表设置命令提示符默认代码页为UTF-8按WinR输入regedit打开注册表编辑器。导航到路径HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor新建一个字符串值如果不存在名称Autorun数值chcp 65001这样每次启动命令提示符都会自动执行chcp 65001将活动代码页设置为UTF-8。完成上述操作后再次打开命令提示符输入javac就不会出现乱码情况了。但是还是乱码。在.bat文件中设置编码在.bat文件开头添加以下命令来设置编码为UTF - 8echo off chcp 65001 nul # 静默切换UTF-8编码 setlocal enabledelayedexpansion此命令会将命令行的代码页设置为UTF - 8避免出现乱码。作用说明chcp 65001 nul强制将控制台编码切换为UTF-8代码页65001 nul隐藏执行提示如Active code page: 6500113echo off关闭命令回显使输出更清晰setlocal enabledelayedexpansion启用延迟变量扩展避免循环/代码块中的变量解析问题结果部分乱码。部分不是乱码。创建.bat文件显示不乱码。不知道为什么上面是乱码。echo off chcp 65001 nul setlocal enabledelayedexpansion echo ************************************** echo * 中文测试 - 无乱码版本 * echo ************************************** echo 当前时间%date% %time% echo 系统路径%PATH:~0,50%... pause