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

2024-01-09 06:18:55

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

? ? ? ? 刚安装好的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)中添加如下行:

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

文章来源:https://blog.csdn.net/qq_57492774/article/details/135468108
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。