以前学过JavaSE不过一直没注意到过这个问题,就在昨天做了一个小程序的时候遇到了一个问题,什么问题呢?就是使用scanner从键盘上录入一串中文字符串,然后使用输出语句打印出来时乱码,然后我就想当然的以为是我workspace的编码没设置,于是我去查看了一下

java Scanner类从键盘上读取中文,Eclipse控制台打印出来乱码问题.

已经设置好了,我也不是大牛,除了这个问题我就不知道了,于是我就开始百度,百度上大致就是这几个解决办法

于是我就写了一个Demo测试了一下

第一种是更改common里的编码:

java Scanner类从键盘上读取中文,Eclipse控制台打印出来乱码问题.

第二种就是在使用Scanner两个参数的构造方法设置编码

java Scanner类从键盘上读取中文,Eclipse控制台打印出来乱码问题.

第三种就是更改eclipse.ini文件添加一段参数

我都试了一遍一点作用没有.

于是我又继续百度找到了一个解决方法

对读取出来的字符串进行手动编码.

java Scanner类从键盘上读取中文,Eclipse控制台打印出来乱码问题.

大家自己看运行结果吧

java Scanner类从键盘上读取中文,Eclipse控制台打印出来乱码问题.

这种方法稍微有点用,但是只对部分中文编码了,其他的还是乱码,于是我又头疼了,不知道咋回事,

后来无意中再对字符串手动编码的同时使用scanner两个参数的构造器指定编码,然后尽然发现不乱码了,我一脸懵比,不知道这到底是怎么回事,但是不管怎么问题解决了,但是还是想知道原因是什么,有大牛知道可以告诉下,感恩不尽.

java Scanner类从键盘上读取中文,Eclipse控制台打印出来乱码问题.

相关文章: