在Windows上进行Redis编码

时间:2015-02-14 10:37:17

标签: powershell encoding utf-8 redis redis-cli

我一直在从PowerShell控制台上测试Windows上的Redis,但我无法获得带有区域设备变音符号的键(值为法语)。我刚从另一个SOF问题how-to-save-and-retrieve-string-with-accents-in-redis中发现了 - raw 选项,但它没有帮助。

[redis-2.8.17,PoSH-4原生控制台或cmder,win-8.1]

PS4 C:\temp> redis-cli.exe set t "téléphone"
OK
PS4 C:\temp> redis-cli.exe get t
"t\xe9l\xe9phone"
PS4 C:\temp> redis-cli.exe --raw set t "téléphone"
OK
PS4 C:\temp> redis-cli.exe get t
"t\xe9l\xe9phone"
PS4 C:\temp> redis-cli.exe --raw get t
tÚlÚphone

该行为与Redis REPL略有不同:

PS4 C:\temp> redis-cli.exe
127.0.0.1:6379>
127.0.0.1:6379> get t
"t\xe9l\xe9phone"  

但是

PS4 C:\temp> redis-cli.exe --raw
127.0.0.1:6379> get t
tÚlÚphone
127.0.0.1:6379> set t "tツlツphone"  # yes, strange echo of my keys
OK
127.0.0.1:6379> get t              # but right output
téléphone

那么我应该使用什么编码来设置和获取所有重音? 如果不可能,如何从PowerShell正确编码“t \ xe9l \ xe9phone”?是纯Unicode吗?

非常感谢

0 个答案:

没有答案