处理警告:编码 GBK 的不可映射字符

怎么处理警告:编码 GBK 的不可映射字符:
javac -encoding UTF-8 XX.java使用-encoding参数指明编码方式;

或者
用记事本打开文件,然后另存为,选择ANSI编码,覆盖掉该源文件,就OK了。

---
这是因为:由于JDK是国际版的,在编译的时候,如果我们没有用-encoding参数指定我们的JAVA源程序的编码格式,则javac.exe首先获得我们操作系统默认采用的编码格式,也即在编译java程序时,若我们不指定源程序文件的编码格式,JDK首先获得操作系统的file.encoding参数(它保存的就是操作系统默认的编码格式,如WIN2k,它的值为GBK),然后JDK就把我们的java源程序从file.encoding编码格式转化为JAVA内部默认的UNICODE格式放入内存中。然后,javac把转换后的unicode格式的文件进行编译成.class类文件,此时.class文件是UNICODE编码的,它暂放在内存中,紧接着,JDK将此以UNICODE编码的编译后的class文件保存到我们的操作系统中形成我们见到的.class文件。对我们来说,我们最终获得的.class文件是内容以UNICODE编码格式保存的类文件,它内部包含我们源程序中的中文字符串,只不过此时它己经由file.encoding格式转化为UNICODE格式了。当我们不加设置就编译时,相当于使用了参数:javac -encoding gbk XX.java,当然就会出现不兼容的情况。
解决办法是:应该使用-encoding参数指明编码方式:javac -encoding UTF-8 XX.java,这下没警告了,运行也正确了在JCreator 4中设置:菜单:Configure --> Options --> JDK Tools --> Compiler,选中<Default>,然后选Edit,Parameters里面,最前面添加:-encoding UTF-8。

备注:随笔中内容来源于网上资料整理,仅供参考。

原文地址:https://www.cnblogs.com/Alanf/p/9215137.html

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

处理警告:编码 GBK 的不可映射字符的相关文章

记一个奇怪的编码转换问题,及探讨“错误: 编码GBK的不可映射字符” 的原因

什么情况? 下面的一段简单代码,发现了奇怪的编码问题: String docPath = "姝f枃";// docPath = "正文"; // 注释1System.out.println("default = " + docPath); String docPath1 = new String(docPath.getBytes(), "GBK");System.out.println("GBK = " +

java编码GBK的不可映射字符

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

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

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

使用Maven编译项目遇到——“maven编码gbk的不可映射字符”解决办法 ——转载

一.问题描述 今天在MyEclipse中使用Maven编译项目源代码时,结果如下了如下的错误 百思不得其解啊,java源代码在MyEclipse中显示是没有任何错误的,可是执行"maven install"命令编译项目时就会出现上述的错误,导致项目编译失败.这个问题还是第一次遇到,还好在这里http://capslk.iteye.com/blog/1419958看到了解决问题的办法. 二.解决办法 解决这个问题的思路: 在maven的编译插件中声明正确的字符集编码编码——编译使用的字符

maven异常解决:编码GBK的不可映射字符

直接将项目改为UTF-8编码,无效! 要通过修改pom.xml文件,告诉maven这个项目使用UTF-8来编译. 一.问题描述 今天在MyEclipse中使用Maven编译项目源代码时,结果如下了如下的错误 百思不得其解啊,Java源代码在MyEclipse中显示是没有任何错误的,可是执行"maven install"命令编译项目时就会出现上述的错误,导致项目编译失败.这个问题还是第一次遇到,还好在这里http://capslk.iteye.com/blog/1419958看到了解决问

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

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

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

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46583279 public class HelloWorldwww{ public static void main(String args[]){ int num ; // 声明一个整型变量num num = 3 ; // 将整型变量赋值为3 // 输出字符串,这里用"+" 号连接变量 System.out.println("这是数字"+num);

maven编译时候报&quot;编码 GBK 的不可映射字符&quot;

决这个问题的思路: 在maven的编译插件中声明正确的字符集编码编码——编译使用的字符集编码与代码文件使用的字符集编码一致!! 安装系统之后,一般中文系统默认字符集是GBK.我们安装的软件一般都继承使用操作系统的默认字符集. 所以在很多中文XP win7上开发的同学,在使用maven(mvn compile)编译项目的时候,就会出现“编码 gbk 的不可映射字符”: 这个是由于代码使用的UTF-8,而maven编译的时候使用的GBK的缘故. 通过修改pom文件,可以告诉maven这个项目使用UT

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

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