JSCH 输出流中的德语变音和特殊字符

问题描述

我有一个使用 JSCH“exec”执行的 SSH 命令并从输出流返回结果 我还验证了,如果我直接在命令行上(通过 putty)执行它,字符会按预期编码(ä、ö、ü(及其大写变体)),我还执行了类似 './command >> text 的内容.txt' 写入文本文件,该文件也正确写入输出

StreamListener<String,MapRecord<String,String,String>> streamListener = new ExampleStreamListener();

   StreamMessageListenerContainer.StreamMessageListenerContainerOptions<String,String>> containerOptions = StreamMessageListenerContainer.StreamMessageListenerContainerOptions
                .builder().pollTimeout(Duration.ofMillis(100)).build();

StreamMessageListenerContainer<String,String>> container = StreamMessageListenerContainer.create(connectionFactory,containerOptions);
Subscription subscription = container.receive(StreamOffset.fromStart("key2"),streamListener);
container.start();
//----------------------------------------------------------------

public class ExampleStreamListener implements StreamListener<String,String>> {

    @Override
    public void onMessage(MapRecord<String,String> message) {

        System.out.println("MessageId: " + message.getId());
        System.out.println("Stream: " + message.getStream());
        System.out.println("Body: " + message.getValue());
    }
}

然后响应字符串包含类似“ExampleId?”的内容。在哪里 '?'应该是元音变音的字符我认为这与编码有关,但我不确定

只是为了添加其他一切似乎都有效,只是没有返回德语/特殊字符,我尝试了几个不同的库但无济于事

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)