记住,所有与中文相关输入和输出的一定要统一编码,以防乱码。
问题是,原来的代码使用的是GBK,新代码使用的是UTF-8,没办法做到统一,有没有又办法让GBK部分的代码按照GBK格式进行编译,其他都按照UTF-8进行编译。
@强者qiang: 你既然知道在原来的代码都是GBK保存了,那就把文件另存为utf-8编码就行了。编译器应该也没那么智能,能够动态判断文字编码。如果原来的代码文件太多,你可以写个代码将原来写的代码用GBK读取转为utf-8作为输出保存,这就做到了统一。
转为utf-8
有没有办法让GBK部分的代码按照GBK进行编译,其他部分按照UTF-8进行编译。以前代码是按照GBK编码的,转为utf-8中文都是乱码。
@强者qiang: 不行的,但是idea有编码转换功能,就是你可以将GBK的转换为UTF-8的,然后保存为UTF-8的,不会乱码。项目只能统一编码
必须统一编码,不管是utf-8转gbk,或者反过来,中文都会乱码
乱码原因应该是转换的时候,转换的字节数不一样
@三人乐乐: 那就是说idea只能以一种编码格式进行编译吗?就没办法两种一起编译吗?
@强者qiang: 我所知道的就是这样,只要包含中文,必须统一编码,哪种无所谓
统一用utf-8啊
idea右下角可以选择编码,然后会有个弹框
Reload 表示使用新编码重新加载,新编码不会保存到文件中,重新打开此文件,旧编码是什么依旧还是什么。
Convert 表示使用新编码进行转换,新编码会保存到文件中,重新打开此文件,新编码是什么则是什么。
统一成UTF-8吧,先备份,在转换,以防出问题不好整
参考:[idea]Java的GBK编码项目统一转换成utf-8格式
https://blog.csdn.net/lizhangjie316/article/details/111839289