Java初学者的问题.提示警告:编码GBK的不可映射字符.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java初学者的问题.提示警告:编码GBK的不可映射字符.相关的知识,希望对你有一定的参考价值。

我的环境配置是:
Java_Home:C:\Program Files\Java\jdk1.6.0_13

ClassPath:.;%Java_Home%\lib;%Java_Home%\lib\tools.jar

path:%Java_Home%\bin;%Java_Home%\jre\bin
当我编译程序E2_3.java(如下)能通过。
public class E2_3
public static void main(String args[])
long long1=2147483647;
long long2=2147483648l;
long long3=2147483648L;
long long4=2147483648L;



但当我编译E2_4.java(代码如下)时,遇到了问题。
public class E2_4
public static void main(String args[])
float f1=255;
float f2=1.23f;
double d1=123e45d;
double d2=123.45;
float f3=0.3f;



提示错误是:
警告:编码GBK的不可映射字符;
E2_4.java:1:非法字符:\65533
在【public class E2_4】的p前打了个问号,问号下面有个错误提示符;
后面都是非法字符的错误。
工77个错误,1个警告

参考技术A 安装好了JDK 建议使用一些非常小的工具

比如 JCreator Textpad这些。。但是强烈建议不要使用高级IDE工具

JDK只是提供基本的 虚拟机和编译程序,如果所有东西都是纯手工操作就相当麻烦
并且这些麻烦也是对后面学习起不到多大的作用的。比如配制环境变量来说吧

真正学到一定程度的时候,根本就不需要配制环境变量的。刚才说的那些简单工具,他有联想功能,有提示错误功能。编译也是点按钮,不是敲命令,这就方便多了。
参考技术B 可能是你复制粘贴的时候,把一些非常规的字符或者制表符什么的给复制进去了,既然代码比较少,倒不如手动输入一遍再试试。 参考技术C 当java文件的编码格式为utf-8时出现此问题,将之改为ANSI后错误消除。 参考技术D 程序没什么问题

建议你的JDK和程序放在 不是中文 中间无空格的文件夹里

要不然回出现一些莫名的问题本回答被提问者采纳
第5个回答  2009-08-11 是不是输入了中文字符?
初学者经常碰到的问题

maven 编译时报错:编码 UTF-8 的不可映射字符

这是什么问题

应该还有别的错误,编码问题正常只是警告,只有报其他错误的时候,编码也提示为错误了!追问

我删掉报错的乱码就可以了,但是太多了,不好改

参考技术A   解决这个问题的思路:
  在maven的编译插件中声明正确的字符集编码编码——编译使用的字符集编码与代码文件使用的字符集编码一致。
  安装系统之后,一般中文系统默认字符集是GBK。我们安装的软件一般都继承使用操作系统的默认字符集。
  所以,在很多中文XP win7的用户,在使用maven(mvn compile)编译项目的时候,就会出现“编码 gbk 的不可映射字符”:
  这个是由于代码使用的UTF-8,而maven编译的时候使用的GBK的缘故。 通过修改pom文件,可以告诉maven这个项目使用UTF-8来编译。在pom的/project/build/plugins/下的编译插件声明 中加入下面的配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>utf8</encoding>
</configuration>
</plugin>

以上是关于Java初学者的问题.提示警告:编码GBK的不可映射字符.的主要内容,如果未能解决你的问题,请参考以下文章

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

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

java编码GBK的不可映射字符

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

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

maven 编译时报错:编码 UTF-8 的不可映射字符