javac编译提示编码GBK的不可映射字符

原因:

也即在编译java程序时,若我们不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式,如WIN2k,它的值为GBK),然后JDK就把我们的java源程序从file.encoding编码格式转化为JAVA内部默认的UNICODE格式放入内存中。然后,javac.exe把转换后的UNICODE格式的文件进行编译成.class类文件,此时.class文件是UNICODE编码的,它暂放在内存中,紧接着,JDK将此以UNICODE编码的编译后的class文件保存到我们的操作系统中形成我们见到的.class文件。对我们来说,我们最终获得的.class文件是内容以UNICODE编码格式保存的类文件,它内部包含我们源程序中的中文字符串,只不过此时己经由file.encoding格式转化为UNICODE格式了。

当我们不加设置就编译时,相当于使用了参数:javac -encoding gbk *.java,当然就会出现不兼容的情况。

解决办法:

应该使用-encoding参数指明编码方式:javac -encoding UTF-8 *.java

程序通过

时间: 2024-11-04 10:29:53

javac编译提示编码GBK的不可映射字符的相关文章

命令行编译java源文件提示 “编码GBK的不可映射字符” 及输出的中文变为乱码的解决方法

使用命令行编译运行java代码,编译时出现 “编码GBK的不可映射字符” 的错误提示,并且需输出的中文全部变为乱码,此时有两种解决方法: (方法一) 在输入 javac 命令时,额外输入 -encoding utf-8, 例如:如果编译的源文件名为 Test.java ,那么编译时原先只需输入 javac Test.java,而现在需要输入 javac -encoding utf-8 Test.java (方法二) 使用 EditPlus 软件编写代码时,通过修改相关设置然后保存文件即可,具体操

eclipse中maven install提示编码GBK的不可映射字符

今天在eclipse中使用Maven编译项目源代码时,结果如下了如下的错误 在Java源码中没有提示任何报错,即便是改掉项目编码也是不行,如下图所示: 第一次遇到这个问题,记录一下,分享一下. 解决这个问题的思路: 在maven的编译插件中声明正确的字符集编码编码——编译使用的字符集编码与代码文件使用的字符集编码一致!! 安装系统之后,一般中文系统默认字符集是GBK.我们安装的软件一般都继承使用操作系统的默认字符集.所以当在中文XP或者win7系统开发,在使用maven(mvn compile)

【javac】错误:编码GBK的不可映射字符

错误现象: 由于JDK是国际版的,我们在用javac.exe编译时,编译程序首先会获得我们操作系统默认采用的编码格式(也即在编译java程序时,若我们不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式,如WIN2k,它的值为GBK),然后JDK就把我们的java源程序从file.encoding编码格式转化为JAVA内部默认的UNICODE格式放入内存中.然后,javac.exe把转换后的UNICODE格式的文件进行编译成.cl

解决java编译错误:编码GBK的不可映射字符

新建java文件,存储时Encoding选择了UTF-8, 由于语句中包含中文,javac编译时报错,提示"编码GBK的不可映射字符": 解决办法: 1.使用javac -encoding UTF-8 test.java  编译通过: 2.修改文件encoding编码为 ANSI,编译通过: 原文地址:https://www.cnblogs.com/charleswong/p/8481593.html

java编码GBK的不可映射字符

编译java文件时,提示编码GBK的不可映射字符. 主要原因:windows 默认编码方式为GBK,用javac编译时,中文按照GBK解析,但是文件内容编码格式不是GBK. 解决:若编译单个文件指定编码格式就可以了 javac -encoding UTF-8 TestBinaryNum.java

javadoc错误: 编码gbk的不可映射字符

在使用Eclipse进行javadoc的导出时,提示“编码 GBK 的不可映射字符”,应该就是中文注释Eclipse不认,需要在调用javadoc.exe的时候传递编码集告诉它采用什么编码去生成javadoc文档. 打开eclipse,project –> Export –> javadoc 一项一项的选你要输出javadoc的项目,最后一步中VM设置行中加入以下代码 -encoding utf-8 -charset utf-8 经过以上操作,输出的html代码不会发生“编码 GBK 的不可映

javadoc生成出现错误“编码 GBK 的不可映射字符”

在使用Eclipse进行javadoc的导出时,提示“编码 GBK 的不可映射字符”,应该就是中文注释Eclipse不认,需要在调用javadoc.exe的时候传递编码集告诉它采用什么编码去生成javadoc文档. 打开eclipse,project –> Export –> javadoc 一项一项的选你要输出javadoc的项目,最后一步中VM设置行中加入以下代码 -encoding utf-8 -charset utf-8 经过以上操作,输出的html代码不会发生“编码 GBK 的不可映

javac编译 编码GBK的不可映射字符

使用命令行javac命令编译java文件, 提示错误:编码GBK的不可映射字符. 在编译的时候,如果我们没有用-encoding参数指定我们的JAVA源程序的编码格式,则javac.exe会获得我们操作系统默认采用的编码格式. JDK根据操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式,如WIN2k,它的值为GBK),把源程序从默认编码格式转化为JDK内部默认的UNICODE格式放入内存中.然后把转换后的unicode格式的文件进行编译成.class类文件,此时.cl

javac编译出现的编码错误: 编码GBK的不可映射字符

在Windows平台下,当Java源代码中包含中文字符时,如果我们利用代码编辑器保存代码时是utf-8编码格式保存,那么我们在用javac编译时会出现“错误:编码GBK的不可映射字符”. 我们在用javac编译时,编译程序首先会获得我们windows操作系统默认采用的编码格式(GBK),这样在从硬盘读取java文件的时候就相当于按GBK格式解码进内存中,而原编码为utf-8,就会发生解码错误,导致无法编译.当我们不加设置就编译时,相当于使用了参数:javac -encoding GBK Stre