首页 新闻 会员 周边

IDEA中使用两种编码,编译的class文件中文出现乱码

0
悬赏园豆:200 [已解决问题] 解决于 2022-05-05 17:50

使用GBK编码的代码中文会出现乱码,请问有什么办法,能解决这个问题吗?还是说就只能使用其中的一种 -encoding utf-8 或 -encoding gbk?

强者qiang的主页 强者qiang | 初学一级 | 园豆:8
提问于:2022-01-25 23:14
< >
分享
最佳答案
0

记住,所有与中文相关输入和输出的一定要统一编码,以防乱码。

收获园豆:50
寂静的羽夏 | 小虾三级 |园豆:1781 | 2022-01-26 08:31

问题是,原来的代码使用的是GBK,新代码使用的是UTF-8,没办法做到统一,有没有又办法让GBK部分的代码按照GBK格式进行编译,其他都按照UTF-8进行编译。

强者qiang | 园豆:8 (初学一级) | 2022-01-26 10:58

@强者qiang: 你既然知道在原来的代码都是GBK保存了,那就把文件另存为utf-8编码就行了。编译器应该也没那么智能,能够动态判断文字编码。如果原来的代码文件太多,你可以写个代码将原来写的代码用GBK读取转为utf-8作为输出保存,这就做到了统一。

寂静的羽夏 | 园豆:1781 (小虾三级) | 2022-01-26 11:05
其他回答(5)
0

转为utf-8

收获园豆:40
echo_lovely | 园豆:1433 (小虾三级) | 2022-01-26 08:51

有没有办法让GBK部分的代码按照GBK进行编译,其他部分按照UTF-8进行编译。以前代码是按照GBK编码的,转为utf-8中文都是乱码。

支持(0) 反对(0) 强者qiang | 园豆:8 (初学一级) | 2022-01-26 11:01

@强者qiang: 不行的,但是idea有编码转换功能,就是你可以将GBK的转换为UTF-8的,然后保存为UTF-8的,不会乱码。项目只能统一编码

支持(0) 反对(0) echo_lovely | 园豆:1433 (小虾三级) | 2022-01-27 08:30
0

必须统一编码,不管是utf-8转gbk,或者反过来,中文都会乱码

收获园豆:40
三人乐乐 | 园豆:4819 (老鸟四级) | 2022-01-26 09:31

乱码原因应该是转换的时候,转换的字节数不一样

支持(0) 反对(0) 三人乐乐 | 园豆:4819 (老鸟四级) | 2022-01-26 09:33

@三人乐乐: 那就是说idea只能以一种编码格式进行编译吗?就没办法两种一起编译吗?

支持(0) 反对(0) 强者qiang | 园豆:8 (初学一级) | 2022-01-26 09:41

@强者qiang: 我所知道的就是这样,只要包含中文,必须统一编码,哪种无所谓

支持(0) 反对(0) 三人乐乐 | 园豆:4819 (老鸟四级) | 2022-01-26 10:08
0

统一用utf-8啊

收获园豆:10
ycyzharry | 园豆:25651 (高人七级) | 2022-01-26 12:07
0

idea右下角可以选择编码,然后会有个弹框

Reload 表示使用新编码重新加载,新编码不会保存到文件中,重新打开此文件,旧编码是什么依旧还是什么。

Convert 表示使用新编码进行转换,新编码会保存到文件中,重新打开此文件,新编码是什么则是什么。

收获园豆:40
Yahoooo | 园豆:223 (菜鸟二级) | 2022-01-26 15:45
0

统一成UTF-8吧,先备份,在转换,以防出问题不好整
参考:[idea]Java的GBK编码项目统一转换成utf-8格式
https://blog.csdn.net/lizhangjie316/article/details/111839289

收获园豆:20
大志若愚 | 园豆:2138 (老鸟四级) | 2022-02-09 09:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册