Java调用 cmd,返回中文乱码的解决

📅 2026/6/27 12:08:41
Java调用 cmd,返回中文乱码的解决
最近在写agent的tool有个bash工具调用cmd返回中文乱码windows环境。ProcessBuilder pb new ProcessBuilder(cmd.exe,/c, command); ... // 读取的时候 BufferedReader br new BufferedReader(new InputStreamReader(is,StandardCharsets.UTF_8)解决对于大多数情况推荐使用cmd /u /c来运行命令这会自动使用Unicode编码通常是UTF-16从而避免乱码问题ProcessBuilder pb new ProcessBuilder(cmd.exe,/u,/c, command); ... // 读取的时候 BufferedReader br new BufferedReader(new InputStreamReader(is,StandardCharsets.UTF_16LE)