eclipse java文件编码_eclipse 设置所有文件编码为UTF-8(最全)

如何修改eclipse工作空间的字符集以及项目的字符集?

第一种方式:修改eclipse的配置文件

打开{ECLIPSE_HOME}/eclipse.ini文件

在最后一行加上属性:

-Dfile.encoding=utf-8

第二种方式:手动设置

1.修改文件编码

修改Java Class File的编码集

f4adfdaeb5334d9d79009f0ed92d8059.png

Window-->General-->Content Types-->Java Class File-->Default encoding-->UTF-8-->Update(utf-8大小写无所谓)

修改其它类型文件的字符集(CSS,HTML,JS,JAVA,XML等)

5a0216c6b7be68461c3c168730888a7e.png

注意:设置Text时,CSS,HTML,JS,JAVA,XML等文件的编码集都会被修改为UTF-8,但是,jsp文件还是采用的iso-8859-1。

af1b5fd82fc9cbaf09b601d7ab1ff8b6.png

需要手动修改成utf-8,再点击Update。

2.更改eclipse的工作空间

eec1500a8b89c5034b0d62801327b83b.png

Window-->General-->Workspace-->Text file encoding-->Other-->UTF-8-->Apply

3.检查Web目录下Files文件的编码集

575f1e84cb596fee3a597bebab040776.png

CSS Files,HTML Files,JSP Files的字符集是否已经是utf-8,如果不是,记得更改。

4.检查XML目录下Files文件的编码集

12ceda6697098475c05d3c1b97bfcaf5.png

至此,eclipse文件的字符集已经完全被设置为utf-8了。

5.修改项目的字符集

e1da09f5b99eb213c12506535208b80f.png

选中项目--》右键--》Properties--》Resource--》-->Text file encoding-->Other-->UTF-8-->Apply

拓展1:如何校验eclipse创建的java文件的字符集?

第一步:新建一个Test.java类。

public class Test {

public static void main(String[] args) {

String str = "这里必须用中文才能测试出来当前java文件的字符集!";

System.out.println(str);

System.out.println("JVM采用的怎样的字符集解析class文件:" + Charset.defaultCharset().name());

}

}

第二步:查看该文件所在的磁盘位置,并复制

db382af0eae106f49e3285d000b6e3d9.png

选中该类--》右键--》Properties--》Location显示的就是该类所在的本地路径,复制该路径

第三步:打开cmd命令窗口

win+r--》输入:cmd--》确定

命令进入到该目录下

ab152851530cda1b1ecdecdde989ecb2.png

输入:d:--》回车进入到d盘根目录下--》cd D:\workspace-eclipse\yyproject\src\dzkjk\web\tools

第四步:使用java命令进行编译

输入:javac Test.java--》回车,查看执行结果。

178f4e0e0ddb4e3ac24648f10b76dd53.png

说明:

要想在cmd下执行java命令,首先需要配置环境变量;

如果编译报错信息为:编码GBK的不可映射字符,则证明Test.java文件的编码集为UTF-8,否则,如果能够成功编译,则证明该文件的字符集为GBK。

测试的类只有用中文,测试测出来该类的字符集,因为:在脱离了eclipse后,无论java文件的编译还是运行都是有操作系统的语言决定的。

另外,你可能会说,在第二步中,直接右键属性,就能看到当前java类的字符集了。

这,没毛病,但是我们没办法这样就下结论说:该文件的字符集就是utf-8,不信?咱们继续探索。

拓展2:查看java文件字符集显示为utf-8,就说明它是以utf-8进行编码的吗?

我们在notepad++里测试一下。

第一步:打开notepad++,新建一个文件,并将上述的代码复制到该文件中

301ef2d96992884ff647af009d8f3d41.png

第二步:保存文件

将该文件保存到桌面,文件名为Test.java

d681e3bfa4e006fda772501d337fefd1.png

第三步:将文件字符集设置为utf-8无BOM格式编码

ee202150664757ab1d8d64655a55f13d.png

进行保存。

第三步: cmd切换到桌面目录。

dd742e59935c76a6198518c33c7b23d5.png

第四步:编译该文件

接下来就会发现有趣的事情:

如果,汉字你是从eclipse中复制过来的,编译报错信息一致。

c323cb580d2af702e318e84e15ee0b60.png

但是,如果你是通过notepad++,进行过修改,且内容为中文。

57115feaad95af49e0bd8909c856f87e.png

你会发现:测试这两个字,在编译的时候没有报错。

9a21701a1ba58a7d62267bb13ba79ddf.png

我们把最后一行代码删掉,结果:编译成功。

8463501ebfaa3cb204ccbcdeb05c262d.png

桌面,也生成了Test.class文件。

9696cdf5c1896f489687283391b12b81.png

我们使用java反编译文件,打开看看什么情况。

7d65a6ea5bc03c40130deb52fb4f0eaf.png

怎么样?乱码!!!

这说明什么?

第一,当java文件的字符集设置成utf-8后,在eclipse下进行开发,可以保证该文件里的内容就是utf-8,毋庸置疑;

第二,当java文件的字符集设置成utf-8后,在notepad++下进行开发,涉及到中文的地方,中文的字符集仍是GBK,而不是utf-8;

第三,当java文件的字符集设置成utf-8后,通过查看java文件的字符集的方式,并不能证明该文件就是utf-8编码格式;

第四,java反编译工具会自动解析class文件的字符集,然后以该文件的字符集解析文件内容。

第五步,还原java代码,重新编译。

e895f6f46bf495a69c6770cb9e03e138.png

刚才忘了导包,现在加上。

编译的时候,告诉java,该文件的字符集是多少。

javac -encoding utf-8 Test.java

编译成功。

60dfd971223a4cfe560d7e3a27d98517.png

-encoding 字符集,就是告诉javac.exe在执行编译命令时,以utf-8的格式进行编译。

(前面已经提到:脱离eclipse执行的java操作,在没有明确指明的情况下,无论java文件的编译还是运行都是由操作系统的语言决定的,Windows语言是GBK)

第六步,查看生成的class文件。

80cbccb6f389efaf26cf7af027e8af68.png

中文展示没有乱码,完美。

这也告诉我们,能用开发工具进行开发的时候,尽量借助eclipse来实现。

写在最后

哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

相关推荐:

  • 6
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值