2

I've been testing Redis on Windows from a PowerShell console and I cannot get keys with locale diacritic signes (values are in French). I've just discovered --raw option from another SOF question how-to-save-and-retrieve-string-with-accents-in-redis, but it doesn't help.

[redis-2.8.17, PoSH-4 native console or 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

The behaviour is slightly different from Redis REPL :

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

but

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

So what encoding should I use to set and get all accents? If not possible, how to encode correctly "t\xe9l\xe9phone" from PowerShell? Is it plain Unicode?

halfer
  • 19,824
  • 17
  • 99
  • 186
jgran
  • 1,111
  • 2
  • 11
  • 21

0 Answers0