做一个从windows cmd截获命令返回值的java程序,结果截回来的文字中所有的中文都是乱码

Microsoft Windows [�汾 6.1.7260]
��Ȩ���� (c) 2009 Microsoft Corporation����������Ȩ��

看了一下,问题出在BufferedReader上,原来的代码是:

Java代码 BufferedReader中文乱码解决 BufferedReader中文乱码解决BufferedReader中文乱码解决
  1. BufferedReader buffer = new BufferedReader(in);
BufferedReader buffer = new BufferedReader(in);

这样会出现编码的问题。我在bufferedReder后面加上了转换成utf-8的方法:

Java代码 BufferedReader中文乱码解决 BufferedReader中文乱码解决BufferedReader中文乱码解决
  1. BufferedReader buffer = new BufferedReader(
  2. new InputStreamReader(in,"utf-8"));
BufferedReader buffer = new BufferedReader(
       new InputStreamReader(in,"utf-8"));

发现还是乱码,试了其他一些编码,最终GBK和GB2312可以成功显示中文。

Java代码 BufferedReader中文乱码解决 BufferedReader中文乱码解决BufferedReader中文乱码解决
  1. BufferedReader buffer = new BufferedReader(
  2. new InputStreamReader(in,"GB2312"));

相关文章:

  • 2022-12-23
  • 2021-07-28
  • 2021-11-13
  • 2021-12-18
  • 2021-05-16
  • 2021-07-29
  • 2021-12-05
猜你喜欢
  • 2022-12-23
  • 2021-07-10
  • 2021-11-24
  • 2022-12-23
相关资源
相似解决方案