Java工具eclipse控制台console输出乱码问题
捣鼓了一下午,终于tm解决!
我的是Scanner读入,println打印乱码问题。
首先在cmd窗口运行java,是没有乱码问题的,这证明了在cmd窗口时Scanner输入的和println打印的编码是一致的。
而eclipse,我把所有地方能设置utf8的都设置了,并且验证过我在eclispe控制台输入时的字符编码是utf-8,那显然问题出现在输出到console的时候。
我也不知道eclispe的console输出时用的什么鬼编码!我用代码把我输入的字符串各种转都没解决问题,而且cmd窗口没事,显然问题不是出现在代码上,而是不知道eclipse在显示的时候多此一举干了什么鬼。
解决办法是:直接打开eclipse的ini,在最后一行加上-Dfile.encoding=utf-8
就解决了eclipse输出到控制台的乱码问题,同样地对图形化界面文本框输出也有效。
eclipse的scanner接收输入时编码集是utf8,然后println就乱码,后来我把scanner设置成输入时用gbk编码集,用println输出也是乱码!只能说eclipse的print有毒,要通过-Dfile.encoding=utf-8改变。
经过一番调查,终于找到一个像样的答案:https://www.imooc.com/qadetail/221407?t=347209
eclispe的bug。