读书人

ganymed-ssh2执行命令(exec)中文乱码有

发布时间: 2012-10-30 16:13:36 作者: rapoo

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); 


读书人网 >编程

热点推荐