jedis 或 redis 编码 ISO-8859-5 时出现问题
我测试 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));
结果: аАТаБТаАааАааАааБТ аАааАаБТ
我做错了什么?是我还是redis、还是jedis?
I test redis and jedis API for encoding ISO-8859-5:
String S = new String("Привет мир".getBytes(), "ISO-8859-5");
redis.lpush("test", S);
System.out.println(redis.lpop("test"));
In result, I have: а�б�аИаВаЕб� аМаИб�
Then I try to use 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));
Result: аАТаБТаАааАааАааБТ аАааАааБТ
What I do wrong? Is it me or redis, or jedis?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
可以直接使用二进制形式
You can use the binary form directly
尝试将信息转换为 UTF-8。
顺便说一句,如果您遇到 cyrrilic 编码问题,这个网站可能会帮助您(2cyr.com)
Try convert information to UTF-8.
by the way, if you have problems with cyrrilic encoding , this site may help you ( 2cyr.com )