ganymed-ssh2执行命令(exec)中文乱码问题解决

在java程序中使用ganymed-ssh2,采用exec的session方式(详见RFC4254)。

向远程主机输入命令后,如果返回的结果中有中文,这些中文会乱码显示,这是因为使用exec的方式登录不能获得当前编码的环境变量。

解决方法为,在执行这个命令之前设置编码环境变量,如下:

import ch.ethz.ssh2.Connection; 
import ch.ethz.ssh2.Session; 
     
Session sess = conn.openSession(); 
String encodeSet = "export LC_CTYPE=zh_CN.GB18030;";
sess.execCommand(encodeSet + cmd); 


你可能感兴趣的:(java)