2

我一直在通过 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吗?

4

0 回答 0