我一直在从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吗?
非常感谢