Server Redis sendiri menyimpan semua data sebagai objek biner, sehingga tidak tergantung pada pengkodean. Server hanya akan menyimpan apa yang dikirim oleh klien (termasuk karakter UTF-8).
Berikut adalah beberapa eksperimen:
$ echo téléphone | hexdump -C
00000000 74 c3 a9 6c c3 a9 70 68 6f 6e 65 0a |t..l..phone.|
c3a9 adalah representasi dari karakter 'é'.
$ redis-cli
> set t téléphone
OK
> get t
"t\xc3\xa9l\xc3\xa9phone"
Sebenarnya data disimpan dengan benar di server Redis. Namun, ketika diluncurkan di terminal, klien Redis menginterpretasikan output dan menerapkan fungsi sdscatrepr untuk mengubah karakter yang tidak dapat dicetak (yang definisinya bergantung pada lokal, dan tetap dapat rusak untuk karakter multibyte).
Solusi sederhana adalah meluncurkan redis-cli dengan opsi 'mentah':
$ redis-cli --raw
> get t
téléphone
Aplikasi Anda sendiri mungkin akan menggunakan salah satu pustaka klien daripada redis-cli, jadi dalam praktiknya seharusnya tidak menjadi masalah.