在java程序中使用ganymed-ssh2,采用exec的session方式(详见RFC4254)。
向远程主机输入命令后,如果返回的结果中有中文,这些中文会乱码显示,这是因为使用exec的方式登录不能获得当前编码的环境变量。
解决方法为,在执行这个命令之前设置编码环境变量,如下:
向远程主机输入命令后,如果返回的结果中有中文,这些中文会乱码显示,这是因为使用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程序中使用GANymed-SSH2通过exec方式登录远程主机并执行命令时,如何解决中文乱码显示的问题。通过在执行命令前设置编码环境变量,确保正确显示中文。
1912

被折叠的 条评论
为什么被折叠?



