欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java工具eclipse控制台console输出乱码问题

程序员文章站 2022-04-08 15:57:00
捣鼓了一下午,终于tm解决! 我的是Scanner读入,println打印乱码问题。 首先在cmd窗口运行java,是没有乱码问题的,这证明了在cmd窗口时Scanner输入的和println打印的编码是一致的。 而eclipse,我把所有地方能设置utf8的都设置了,并且验证过我在eclispe控 ......

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