扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Redis是一种流行的内存 KEY-value 数据库,因为其迅速、低延迟的数据存取,在很多应用场景中被广泛使用。Redis 键(Key)的存储格式是 binary safe,即当 key 中存储了非 ASCII 字符,这时候在 Redis-cli 上查看时可能会出现乱码,这是因为 Redis-cli 并不能很好的处理非 ASCII 字符。
我们提供的服务有:做网站、成都做网站、微信公众号开发、网站优化、网站认证、蛟河ssl等。为上千多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的蛟河网站制作公司
一般情况下,Redis 的 key 并不会存储特殊字符,但是由于一些问题,Redis key 可能会出现乱码问题,比如当你从关系数据库拉回 key 并 set 到 redis 时候会导致乱码。解决这种情况有几种常见解决方案:
第一种方法是根据 key 的实际编码来进行强制转换,比如我们可以使用 iconv 函数将 key 从 ISO-8859-1 转换为 UTF-8:
$redis->set(‘key’, iconv(‘ISO-8859-1’, ‘UTF-8’, “mi clave es: 杰克”));
第二种方法是使用 phpredis 库,它可以支持 key 的解析,里面有专门的函数可以解析字符编码:
use Redis;
$redis = new Redis();
$redis->connect(‘127.0.0.1’, 6379);
$redis->set(‘key’, “\xE6\x9D\xB0\xE5\x85\x8B”);
$redis->_redis_decode_key(‘key’);
也可以通过在 redis.conf 配置文件中指定字符编码来更改 Redis-cli 编码:
/etc/redis/redis.conf
:
:
#Use default system encoding
syslog-encoding utf-8
使用以上方法可以解决绝大部分 Redis 键乱码的问题,但是仍有一些不可预知的乱码存在,这时应该尝试在 redis.conf 中指定默认编码来进一步避免出现乱码情况。
成都创新互联科技有限公司,经过多年的不懈努力,公司现已经成为一家专业从事IT产品开发和营销公司。广泛应用于计算机网络、设计、SEO优化、关键词排名等多种行业!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流