一. 问题描述
在eclipse
中能正常运行的代码,在cmd
窗口用javac
编译时提示“错误: 编码GBK
的不可映射字符”,报错信息如下所示:
二. 解决方案
eclipse
下能够正常运行的原因是由于已经设置eclipse
使用的文件编码是UTF-8
,而Windows
平台下简体中文默认使用GBK
编码,而文件的编码是UTF-8
,所以会报错,使用Editplus
打开文件查看编码如下所示:
解决方法有两种,第一种是直接修改文件的编码,第二种是运行javac
编译源码的时候指定编译使用的编码。
第一种:直接修改文件的编码
打开文件之后点击菜单File——>Save as
,在弹出的对话框的最下面就是当前文件的编码,更改编码为ANSI
之后保存并覆盖原文件就相当于修改了此文件的编码,如下图所示:
再次执行javac
编译命令,问题已经消失。
第二种:运行javac
源码的时候指定编译使用的编码
在执行javac
编译的时候指定编码-encoding utf-8
,完整命令如下所示:
javac -encoding utf-8 文件
公众号ID:longjiazuoA

未经允许不得转载:人生设计师 » cmd下运行javac编译报错: 编码GBK的不可映射字符