Java 绝地武士或redis编码ISO-8859-5有问题

Java 绝地武士或redis编码ISO-8859-5有问题,java,encoding,redis,jedis,Java,Encoding,Redis,Jedis,我测试redis和jedis API编码ISO-8859-5: String S = new String("Привет мир".getBytes(), "ISO-8859-5"); redis.lpush("test", S); System.out.println(redis.lpop("test")); 结果,我得到了:а�б�аИаВаЕб� аМаИб� 然后我尝试使用SafeEncoder: String S = new Stri

我测试redis和jedis API编码ISO-8859-5:

        String S = new String("Привет мир".getBytes(), "ISO-8859-5");
    redis.lpush("test", S);
    System.out.println(redis.lpop("test"));
结果,我得到了:а�б�аИаВаЕб� аМаИб�

然后我尝试使用SafeEncoder:

        String S = new String("Привет мир".getBytes(), "ISO-8859-5");
    redis.lpush("test", S);
    byte[] Result = SafeEncoder.encode(redis.lpop("test"));
    System.out.println(new String(Result));
结果:аАаБаАааАаАаАаАаБа


我做错了什么?是我、雷迪斯还是绝地武士?

尝试将信息转换为UTF-8。

顺便说一句,如果您对cyrrilic编码有问题,本网站可能会帮助您()

尝试将信息转换为UTF-8。

顺便说一句,如果您在使用cyrrilic编码时遇到问题,本网站可能会帮助您()

您可以直接使用二进制格式

byte[] b = "Привет мир".getBytes();
redis.lpush(SafeEncoder.encode("test"), b);
System.out.println(redis.lpop("test"));

您可以直接使用二进制形式

byte[] b = "Привет мир".getBytes();
redis.lpush(SafeEncoder.encode("test"), b);
System.out.println(redis.lpop("test"));

在Linux Debian、Redis v上测试它。2.2.12在使其工作方面是否成功?
String S=新字符串(“ППцццццц”。getBytes(),“ISO-8859-5”)此代码完全不正确。首先将字节转换为默认编码(这取决于它是哪个平台),然后将这些字节转换为ISO-8859-5。结果是您试图将一些垃圾推送到Redis。2.2.12在使其工作方面是否成功?
String S=新字符串(“ППцццццц”。getBytes(),“ISO-8859-5”)此代码完全不正确。首先将字节转换为默认编码(这取决于它是哪个平台),然后将这些字节转换为ISO-8859-5。结果是您试图将一些垃圾推送到Redis。请提供一个更好的示例(理想情况下使用代码)说明您的意思请提供一个更好的示例(理想情况下使用代码)说明您的意思