Redis如何把字符集的编码格式设置为UTF-8

一、问题复现(编码错乱)

刚安装好的redis在使用的过程中,若使用到了汉字,则在显示的时候,汉字是不能够正常显示的,因为redis在解析的过程中,会将汉字转换成其他编码的格式,如下图:

二、Redis支持哪些类型的编码?

Redis是一款开源的内存数据库,它可以用来存储字符串、哈希、列表、集合和有序集合等类型的键值对数据,支持灵活的多种字符集,从而丰富用户体验。

Redis支持的字符集包括US-ASCII、ISO⑻859⑴、UTF⑻、GBK等多种全球性字符集。US-ASCII字符集,也称为7位ASCII码,是最经常使用的字符集,其中的128个可打印的字符,在大多数英语语言中正确表示文本文件内容,Redis采取US-ASCII字符集存储和操作String类型的数据,以最大程度减少存储空间。

ISO⑻859⑴则是一种多国语言字符集,由基础的128个ASCII码组合而成,能够支持多国语言,Redis通过ISO⑻859⑴字符集来存储区别的多国语言,例如日语、法语和西班牙语等,从而提升国际化的编码效果和兼容性。

UTF⑻是目前最经常使用的Unicode字符集,由ISO 1756⑴:2018规范,它采取可变长度的编码对象,最多使用4个字节编码,这使得UTF⑻可以表示几近任意语言的字符,Redis使用UTF⑻字符集,处理中文字符内容,具有及时性,轻松上线和可扩大性,是目前行业上普遍推荐使用的字符集方案。

GBK字符集是由国家标准总局定义和部署的简体中文编码,Redis也支持使用,用来满足国内用户的使用需求,如果希望针对国内用户,使用Redis存储文本信息,可以斟酌使用GBK字符集,以提供较好的用户体验。

三、怎么通过设置,才能达到显示中文

3.1、临时设置

Redis 默认的编码格式是 ascii,如果需要在命令行中临时配置 Redis 的编码格式为 UTF-8,可以使用以下命令:

```

redis-cli --raw

```

其中,`--raw` 参数表示以二进制格式读取 Redis 的键值对,这样在输出时就不会使用 Redis 默认的编码格式,而是直接输出二进制值(即 UTF-8 编码的字符串)。

3.2、永久设置

查看当前redis启动的进程号

  • Windows系统:打开命令提示符(cmd)并输入tasklist | findstr redis-server,按Enter键运行该命令,将显示所有包含"redis-server"关键字的进程信息。

  • Linux/Mac系统:在终端中输入ps aux | grep redis-server,然后按Enter键运行该命令,将会列出所有与Redis相关的进程及其对应的PID(Process ID)。

关闭redis的服务之后,去到redis的配置文件中将字符集设置为utf-8并写入redis配置文件,可以在redis配置文件(redis.conf)中添加如下行:

这里居然没实现,有时间再看看

相关推荐
逸巽散人4 分钟前
SQL基础教程
数据库·sql·oracle
月空MoonSky37 分钟前
Oracle中TRUNC()函数详解
数据库·sql·oracle
momo小菜pa37 分钟前
【MySQL 06】表的增删查改
数据库·mysql
向上的车轮2 小时前
Django学习笔记二:数据库操作详解
数据库·django
编程老船长2 小时前
第26章 Java操作Mongodb实现数据持久化
数据库·后端·mongodb
全栈师2 小时前
SQL Server中关于个性化需求批量删除表的做法
数据库·oracle
Data 3172 小时前
Hive数仓操作(十七)
大数据·数据库·数据仓库·hive·hadoop
BergerLee3 小时前
对不经常变动的数据集合添加Redis缓存
数据库·redis·缓存
gorgor在码农3 小时前
Mysql 索引底层数据结构和算法
数据结构·数据库·mysql
Dylanioucn3 小时前
【分布式微服务云原生】掌握分布式缓存:Redis与Memcached的深入解析与实战指南
分布式·缓存·云原生