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

本文介绍了在Java程序中使用GANymed-SSH2通过exec方式登录远程主机并执行命令时,如何解决中文乱码显示的问题。通过在执行命令前设置编码环境变量,确保正确显示中文。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值