如何在Redis HMSET中保存非Ascii字符?

时间:2018-07-04 09:51:55

标签: unicode utf-8 redis

我想将var str = `C:\\Users\\room\\Desktop\\dev\\myapp\\node/data//test/nested/74201820018PM-AI2.jpg`; const regex = /^(.+[\/\\]data[\/\\])/; var matched = str.replace(regex, ''); console.log(matched);之类的阿拉伯字符保存在redis哈希中,如下所示:

سلام

但结果不符合预期:

HMSET arabicHash "سلام" 5
OK

我想知道是否有办法保存直接设置127.0.0.1:6379> HGETALL arabicHash 1) "\xd8\xb3\xd9\x84\xd8\xa7\xd9\x85" 2) "5" 的inot redis吗?如果没有,如何在被检索后将سلام转换回人类可读的字符?

更新:我已经在Ubuntu Bash终端上进行了测试,但是这里的结果格式不正确。屏幕截图:

enter image description here

1 个答案:

答案 0 :(得分:2)

  1. 您需要使用引号将要存储在哈希中的键和值括起来。

enter image description here

在try.redis.io上测试(它以utf-8解码形式显示redis输出)

  1. 文本可能会以utf-8的形式显示在redis响应中,但在解码时会以阿拉伯字符正确显示