caoxinyu / RedisClient

Java Redis Client GUI Tool
2.44k stars 747 forks source link

乱码问题 #41

Closed nellochen closed 8 years ago

nellochen commented 8 years ago

系统写入redis库(utf-8,写入hash),在客户端看到一些奇怪的乱码(key, value都会此情况)。如下面所示:

��-N��V�s^��[��O�i����Ɩ��V� ������N� g�P��lQ��

caoxinyu commented 8 years ago

能更详细的说明输入了什么才会出现这种情况么,我不能重现你的问题

nellochen commented 8 years ago

1.业务创建User对象(POJO)并set数据 User user = new User(); user.setName("张三"); user.setPhone("188888888880"); ... 2.保存数据 cache.set("user", user);

3.打开客户端查询的话就会出现莫名其妙的乱码:�s^��[�

我使用的是jFinal框架,最新版的redis

caoxinyu commented 8 years ago

感觉应该是你的程序中的问题,你可以试试直接用RedisClient输入

binarywang commented 8 years ago

确实是在某种情况下有问题的,我用这个工具查询时也看到很多乱码的key值,点击后显示键不存在

caoxinyu commented 8 years ago

是否可以重现这个问题,如果可以,请告诉重现的步骤。

binarywang commented 8 years ago

我后来研究了一下,使用spring的RedisTemplate 放入的都是这样的,换成StringRedisTemplate的没有这种问题的

binarywang commented 8 years ago

应该是跟序列化机制相关

binarywang commented 8 years ago

@caoxinyu 我发现这个开源工具RedisDesktopManager显示同样的key值采用了一种独特的处理方式,不会乱码,还能点击观看其值,你可以借鉴下其处理方式

caoxinyu commented 8 years ago

你是说RedisDesktopManager专门针对spring RedisTemplate进行了改进?

binarywang commented 8 years ago

具体我没看,就是对这种使用特殊字符进行了特殊处理,至少不会显示成乱码的样子