【发布时间】:2011-08-16 12:55:57
【问题描述】:
我想 ping 一个目标 IP 地址并接收响应。为此,我在 Java 中使用带有 runtime.exec 方法和进程类的 windows 命令行。我正在使用 inputStreamReader 获得响应。
我的默认字符集是 windows-1254,它是土耳其语。当我收到它时,响应包含土耳其语字符,但土耳其语字符在控制台中显示不正确。
我想从我得到的响应中获取一个数值,但是我正在搜索的值包含一些土耳其字符,所以当我查找它时,我找不到它。
代码如下,我需要知道的是如何让土耳其语字符在这里可见:
runtime = Runtime.getRuntime();
process = runtime.exec(pingCommand);
BufferedReader bReader = new BufferedReader(
new InputStreamReader(process.getInputStream(), "UTF8"));
String inputLine;
while ((inputLine = bReader.readLine()) != null) {
pingResult += inputLine;
}
bReader.close();
process.destroy();
System.out.println(pingResult);
【问题讨论】:
-
如果您知道您的编码是“windows-1254”,为什么还要指定“UTF-8”?
-
呃,您指定的是
UTF8。 -
我尝试了 windows-1254,不幸的是,结果相同。
标签: java character-encoding inputstream inputstreamreader