黑马程序员技术交流社区
标题:
为什么我输入中文时会乱?
[打印本页]
作者:
NO?
时间:
2014-4-7 23:56
标题:
为什么我输入中文时会乱?
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
public class Test {
public static void main(String[] args) throws IOException {
BufferedReader bm = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new FileWriter("G://aa.java"));
String string =null;
while (true) {
string = bm.readLine();
System.out.println(string);
if (string.equals("over")) {
break;
}
bw.write(string);
bw.newLine();
bw.flush();
string=null;
}
bm.close();
bw.close();
}
}
复制代码
输入英文一点问题没有,可是一切换到英文的时候就不好使了,会无缘无故的冒出英文单词,
还有各种不能换行,等等问题,是不是代码有问题,还是解码的问题?请求指点。
作者:
ς高眼光の目标
时间:
2014-4-8 04:59
我试过 没有错啊 都可以,只是我发现我i电脑没有g盘
作者:
NO?
时间:
2014-4-8 06:51
ς高眼光の目标 发表于 2014-4-8 04:59
我试过 没有错啊 都可以,只是我发现我i电脑没有g盘
不会吧?难道是我的电脑出问题了?
作者:
NO?
时间:
2014-4-8 06:53
发错了。是切换到中文会出问题
作者:
NO?
时间:
2014-4-8 06:55
ς高眼光の目标 发表于 2014-4-8 04:59
我试过 没有错啊 都可以,只是我发现我i电脑没有g盘
发错了,是却换到中文会出问题
作者:
﹊佑雨时杰↘
时间:
2014-4-9 17:20
我觉得 是字符编码的问题。 你的eclipse 设置的问题 。 我电脑上有两个eclipse , 一个可以。 另一个和你的问题一样 , 你是这把BufferedReader 读到的字符串这样new String(str.getBytes("gbk"),"utf-8")转换一下 ,看看是什么
作者:
赵小豪
时间:
2014-4-9 19:37
这不属于代码的问题,应该算环境配置什么问题。我曾用Windows编写好的代码去linux运行,结果中文都是乱码。我的批注都是中文所以无法识别,这跟系统的环境相关。
作者:
赵小豪
时间:
2014-4-9 19:44
还有一个就是查看一下Tomcat中的字符集编码是否是设成了UTF-8,如果是还不成那就换个 "gbk" 或 "gb2312"在试试看看。
作者:
yooozooo
时间:
2014-4-9 23:19
这应该是eclipse的bug。
程序执行完第14行: System.out.println(string); 后, 控制台的光标位置应该在输出内容的下一行,但eclipse中光标却定位到了输出内容的最前端。英文输入时没影响,但在中文输入的时候会出现中英文混合的情况等问题。
解决方法:
当再次输入中文时可手动用方向键将光标移到下一行。
PS. 有时候在程序编写正确的情况下eclipse的控制台中会出现意想不到的现象,不要怀疑自己的代码,直接用windows自带的cmd 命令提示符编译运行下试试!
希望能够帮到你~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2