【发布时间】:2020-09-20 09:45:28
【问题描述】:
使用redis-cli,我将Cyrillic的数据添加到redis队列中,如果使用redis-cli获取队列数据,我们会看到"\xaf\xe0\xae\xa1\xa0"。
在进行中
msg, _ := redis.String(R.conn.Do("LPOP", key))
结果
我怎样才能得到西里尔字母? 我试过了
encoder := charmap.MacintoshCyrillic.NewDecoder() // Windows1251 to
s, _ := encoder.String(msg)
fmt.Print(s)
没用
【问题讨论】:
-
看起来您正在使用 Redigo 客户端。 Redigo 不会转换或转换发送到或从 Redis 服务器发送的字节。
-
"\xaf\xe0\xae\xa1\xa0"字符串对应于cp866编码中的俄语单词проба(测试,样本)。使用b"\xaf\xe0\xae\xa1\xa0".decode('cp866')在python中尝试。 -
@JosefZ 感谢
go encoder := charmap.CodePage866.NewDecoder() s, _ := encoder.String(msg)它有效 -
@JosefZ 你怎么知道是俄语,同一个词可以是塞尔维亚语、白俄罗斯语、乌克兰语...????
-
@Z.Kosanovic 它是俄语,但我不主张独家声称...例如,谷歌翻译检测
проба保加利亚语……对不起……
标签: go redis decode cyrillic redis-cli