字节流与字符流转化,并通过BufferedReader的readLine方法读取一行中文出现了乱码,求解释,谢谢大家!

liujinjiaer 2013-05-26 01:51:32
就四行代码:

BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
String str = buffer.readLine();
System.out.println(str);
buffer.close();

...全文
552 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujinjiaer 2013-05-26
  • 打赏
  • 举报
回复
引用 2 楼 liaojinbiao 的回复:
可能是和上楼说的一样,我在我机子上运行没有出现乱码。你试试下保存的时候,会弹出一个保存的提示对话框,在提示对话框有一个选项是编码,请选择ascii编码,不要选其他。window在读取中文的时候是默认查询gbk的编码表,如果你存的时候是用其他编码方式时,那么在读取中文的时候用gbk的方式来读取就会出现乱码。
谢谢你!
liujinjiaer 2013-05-26
  • 打赏
  • 举报
回复
引用 3 楼 wode_java 的回复:
huohze你在读取的时候指定编码
谢谢!
liujinjiaer 2013-05-26
  • 打赏
  • 举报
回复
引用 1 楼 zhengbocong 的回复:
你的系统的使用的字符编码和你项目的字符编码不一样 一般window是GBK,linux是utf-8,而你的项目所对应的字符编码和系统的不一致就会出现乱码,就是你class文件的字符编码格式,重新保存成跟你系统一致的编码就不会出现乱码
谢谢你!
wode_java 2013-05-26
  • 打赏
  • 举报
回复
huohze你在读取的时候指定编码
睛天 2013-05-26
  • 打赏
  • 举报
回复
可能是和上楼说的一样,我在我机子上运行没有出现乱码。你试试下保存的时候,会弹出一个保存的提示对话框,在提示对话框有一个选项是编码,请选择ascii编码,不要选其他。window在读取中文的时候是默认查询gbk的编码表,如果你存的时候是用其他编码方式时,那么在读取中文的时候用gbk的方式来读取就会出现乱码。
zhengbocong 2013-05-26
  • 打赏
  • 举报
回复
你的系统的使用的字符编码和你项目的字符编码不一样 一般window是GBK,linux是utf-8,而你的项目所对应的字符编码和系统的不一致就会出现乱码,就是你class文件的字符编码格式,重新保存成跟你系统一致的编码就不会出现乱码

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧