Jedis: 3.0.1 Redis: docker - latest 5.0.5 JDK: Amazon Corretto 11 OS: Ubuntu 18.04/ Windows 10
@Test
public void test1() {
//1.获取连接
Jedis jedis = null;
try {
jedis = new Jedis("10.249.50.9", 6379);
jedis.set("username","张三");
} finally {
if (jedis != null || "".equals(jedis)) {
jedis.close();
}
}
}
就是上面这个方法,使用 jedis 导入后,去 redis 中看,或者 jedis 取出来看都是显示乱码,但是直接在 redis 中操作 set "username","张三" 然后再使用 jedis 或者 直接在 redis 中看都是正常的中文。 已经使用了 redis-cli --raw …… 不知道是哪里的编码设置问题额,能麻烦大家看下嘛。去 jedis github 或者 Bing 了一下都没找到答案……
.java 的页面编码也是 UTF-8 的
试了下 把 .java 文件的编码转换成 GBK 就 OK 了……想问下,是不是 Redis 的编码问题额,新人想了解下……
1
sty 2019-07-23 19:20:00 +08:00
"".equals(jedis) 我想知道这个是什么
|
2
springmarker 2019-07-23 20:37:27 +08:00 1
IDEA?Windows 中文版下默认是 GBK,上设置全改成 UTF-8。
然后再加个环境变量 JAVA_TOOL_OPTIONS -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 |
4
Wuuuu OP @springmarker 感谢告知~主要是从来没碰到过这种情况,一下子懵逼不知道怎么排查,以为是 jedis 或者 redis 的锅,走了很多弯路。
|
5
springmarker 2019-07-23 20:58:20 +08:00 1
@Wuuuu #4 win10 1803 后的版本可以默认 UTF-8,可能有的软件会乱码,自己抉择了。
|