捣鼓了一下午,终于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。

 

版权声明:本文为suned-dog原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/suned-dog/p/8954267.html