编码编码GBK的不可映射字符,有两种情况,一种是你IDEA工具报错给你,一种是你Maven编译,Maven报错或者异常给你。虽然差不多其实中间还是有差距的。
(1)非Maven编译报“编码GBK的不可映射字符”
这个其实就是要你设置一下你的IDEA编码方式,别编的是一种,但是你却要强行输出另一种。这个很好解决,在CSDN对应的解决方法都他妈抄烂了。微信公众号:我是坑货。大概方式就是告诉你要去File->Settings->File Encodings,将每个编码都设置为UTF-8,下面设置一下编码格式。有的甚至要你用notepad++来转编码(不推荐,没转好很可能原文件编码汉字什么的一堆乱码)。实操大概是下面几张图:
红框内是你现在IDEA的编码格式,你可以试试这里。但是你IDEA编码设置不是在这边,你要一劳永逸还是要设置一下的。微信公众号:我是坑货。参看下图
(2)Maven编译报错“编码GBK的不可映射字符 ”
你使用IDEA Maven 编译报错报错 “编码GBK的不可映射字符 ”,微信公众号:我是坑货。你去网上搜解决方法,CSDN一群人瞎鸡儿乱抄,告诉你要去File->Settings->File Encodings,将每个编码都设置为UTF-8,下面设置一下编码格式。甚至有的人还有把文件拿notepad++转换的,你要知道你这样乱改编码很可能会把中文字符变成一大堆符号,之前只是系统不认,一通操作下来很可能你都不认识这些字符了。
如果按照上面的操作,你会发现可能你的问题会解决,因为可能就是文件编码的问题导致的。但是大多数时候你用Maven编译报错,不管你怎么调整编码方式,你会发现还是照样报错,为什么会这样?原因是什么?看我给你的解释你能接受吗。
为什么会这样?
Maven在你没有默认编码方式的时候,会默认使用GBK。所以当你有的时候去编译UTF-8人家肯定不认啊。(这个我也是看过一个资料,权威不权威没去考证,也没有看源码)
怎么办?
那我用默认的GBK行吗?可以应该是可以,但是做好还是用UTF-8字符集,大家通用对中文支持好。(你要知道由于中文,韩文,日文造字能力强现在UTF-8都不一定够了,都出来UTF-16了)
想用UTF-8格式,就要在Maven里面注册编码为UTF-8就好了,参看下图:
我这有一个微信公众号:我是坑货
欢迎过来骚扰