A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 耿鑫 中级黑马   /  2012-6-24 10:48  /  2792 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 耿鑫 于 2012-6-24 23:07 编辑

Scanner scanner = new Scanner(System.in)

String str = scanner.next();

System.out.println(str);
上面输入中文会乱码,怎么支持输入中文问题

运行环境是eclipse,默认编码是UTF-8,网上的答案就别贴出来了,我试过了不管用,

6 个回复

倒序浏览
1,Scannner scanner = new Scanner(System.in)
这个Scanner写错了好吧,编译都不能通过吧。

2,改正后,是可以输入中文的,我刚测试了,有图为证



LZ再试一次吧
回复 使用道具 举报
你可以这样来取输出的内容
str = new String(sc.next().getBytes("gbk"));  //在这里你试试不同的编码,可以找到你要的结果。
是你系统本机设置问题,控制面板打开支持中文就可以了

eclipse里面windows-->perfrences--->General-->workspace-->Text file encode-->GBK
或者ISO-8859-1,修改后保存重启elipse就可以支持中文了

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 赞一个!

查看全部评分

回复 使用道具 举报
楼上哥们点评{:soso_e179:},赞一个。
回复 使用道具 举报
LZ还没解决?
回复 使用道具 举报
本帖最后由 朱志辉 于 2012-6-24 23:05 编辑

右击工程,选择Run AS - Run Configuration - Common中的 Encoding改为Other:GBK(如果没有GBK就自己输入),确定。
因为微软中文操作系统的编码是GBK(或GB2312,简体),控制台使用的字符自然是GBK(或GB2312),所以在要配置Eclipse中关于控制台输入/输出的编码为GBK(或GB2312)。
建议选择GBK,因为GBK包含GB2312,支持繁体字符。
这个问题我遇到过,当时查了不少资料,都是说代码里的编码转换,后来自己就从.class运行原理那里顺藤摸瓜找到了解决办法。
回复 使用道具 举报
出现编码问题 主要原因是你读取文件时候用的编码和你保存该文件的时候的编码不一致

为了更好解决问题你应该首先知道你保存的时候用的编码 可以通过下面的方法 我自己写的 已经能运行  

                  InputStreamReader  isr = new InputStreamReader(new FileInputStream("文件"));
                  System.out.println(isr.getEncoding());
然后再决定把你的运行环境改成什么编码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马