Redis出現(xiàn)中文亂碼的問題及解決
今天測試一個(gè)小功能,用redis做了個(gè)緩存,然后啟動redis客戶端進(jìn)行查詢,發(fā)現(xiàn)得不到想要的中文結(jié)果。
網(wǎng)上查找相關(guān)的解決方案,卻沒有一個(gè)能完整解決問題的,最后自己一步一個(gè)腳印解決了。
1. 問題的產(chǎn)生
(1)將接口返回?cái)?shù)據(jù)寫入redis,設(shè)置key為“data”

(2)找到redis安裝目錄中的redis-server.exe,雙擊啟動

(3)在redis-server.exe這個(gè)文件的這一層地址欄,輸入cmd,打開控制臺,然后輸入redis-cli并回車,接著PING一下連通性,可以看到客戶端是沒有問題的

(4)根據(jù)緩存的key,輸入查詢語句get data,查詢一下緩存數(shù)據(jù)??梢钥吹?,能查到數(shù)據(jù),但是沒有想要的中文出現(xiàn)。

2. 問題的解決
很明顯,前面出現(xiàn)的問題,并不是中文亂碼問題(因?yàn)檫B中文的痕跡都沒有看到),而是數(shù)據(jù)的進(jìn)制問題。
redis數(shù)據(jù)進(jìn)制問題的解決
要解決數(shù)據(jù)進(jìn)制問題,只需要在前面的(3)中,將redis-cli改為redis-cli --raw輸入進(jìn)去即可,這也是很多網(wǎng)上的解決方案,我們可以看下這么解決的結(jié)果。

好,解決了一個(gè)數(shù)據(jù)進(jìn)制問題,真正出現(xiàn)了我們所說的中文亂碼問題。這個(gè)問題實(shí)際上不屬于Redis的問題,而是編碼問題。這也是為什么搜Redis中文亂碼問題,總得不到解決方案的原因。
中文亂碼問題解決
這個(gè)問題是因?yàn)閷慾ava文件時(shí)用的是UTF-8的編碼格式,而Windows控制臺對于中文,是GBK的編碼格式,兩者不一致導(dǎo)致。
查看java文件編碼格式

右鍵Windows控制臺—>屬性,查看編碼格式

亂碼問題,只要保持兩者編碼格式一致,該問題便可迎刃而解。
還是從前面的(3)入手,cmd打開控制臺后,先輸入chcp 65001,修改控制臺的編碼格式為UTF-8,然后再輸入redis-cli --raw,后面正常查詢,就能得到想要的中文結(jié)果了。
- 修改編碼格式


輸入redis-cli --raw,并做后面的查詢

總結(jié)
Redis中文亂碼問題的解決:
(1)先通過chcp 65001命令修改控制臺的編碼格式
(2)再通過redis-cli --raw命令解決數(shù)據(jù)進(jìn)制問題,最后再做查詢就能得到正常的結(jié)果。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
redis3.2配置文件redis.conf詳細(xì)說明
redis3.2配置詳解,Redis啟動的時(shí)候,可以指定配置文件,詳細(xì)說明請看本文說明2018-03-03
Redis中ZSet數(shù)據(jù)結(jié)構(gòu)與滑動窗口應(yīng)用實(shí)現(xiàn)
Redis?ZSET融合哈希表與跳躍表,支持O(1)成員查詢和O(logN)排序,適用于排行榜及滑動時(shí)間窗口限流,下面就來介紹一下Redis中ZSet數(shù)據(jù)結(jié)構(gòu)與滑動窗口應(yīng)用,感興趣的可以了解一下2025-07-07
基于Redis實(shí)現(xiàn)API接口訪問次數(shù)限制
日常開發(fā)中會有一個(gè)常見的需求,需要限制接口在單位時(shí)間內(nèi)的訪問次數(shù),比如說某個(gè)免費(fèi)的接口限制單個(gè)IP一分鐘內(nèi)只能訪問5次,該怎么實(shí)現(xiàn)呢,本文小編給大家介紹了如何基于Redis實(shí)現(xiàn)API接口訪問次數(shù)限制,需要的朋友可以參考下2024-11-11
Redis HyperLogLog用戶統(tǒng)計(jì)功能實(shí)現(xiàn)代碼
本文詳細(xì)解析了UV(獨(dú)立訪客)統(tǒng)計(jì)在互聯(lián)網(wǎng)產(chǎn)品運(yùn)營中的的重要性,并對比了傳統(tǒng)UV統(tǒng)計(jì)方案與HyperLogLog算法的優(yōu)勢,HyperLogLogLog在內(nèi)存占用、寫入性能與統(tǒng)計(jì)精度方面表現(xiàn)出色,感興趣的朋友跟隨小編一起看看吧2026-06-06
linux 常見的標(biāo)識與Redis數(shù)據(jù)庫詳解
這篇文章主要介紹了linux 常見的標(biāo)識與Redis數(shù)據(jù)庫,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10

