Redis出現(xiàn)中文亂碼的問題及解決
今天測(cè)試一個(gè)小功能,用redis做了個(gè)緩存,然后啟動(dòng)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,雙擊啟動(dòng)

(3)在redis-server.exe這個(gè)文件的這一層地址欄,輸入cmd,打開控制臺(tái),然后輸入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控制臺(tái)對(duì)于中文,是GBK的編碼格式,兩者不一致導(dǎo)致。
查看java文件編碼格式

右鍵Windows控制臺(tái)—>屬性,查看編碼格式

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


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

總結(jié)
Redis中文亂碼問題的解決:
(1)先通過chcp 65001命令修改控制臺(tái)的編碼格式
(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啟動(dòng)的時(shí)候,可以指定配置文件,詳細(xì)說明請(qǐng)看本文說明2018-03-03
Redis中ZSet數(shù)據(jù)結(jié)構(gòu)與滑動(dòng)窗口應(yīng)用實(shí)現(xiàn)
Redis?ZSET融合哈希表與跳躍表,支持O(1)成員查詢和O(logN)排序,適用于排行榜及滑動(dòng)時(shí)間窗口限流,下面就來介紹一下Redis中ZSet數(shù)據(jù)結(jié)構(gòu)與滑動(dòng)窗口應(yīng)用,感興趣的可以了解一下2025-07-07
基于Redis實(shí)現(xiàn)API接口訪問次數(shù)限制
日常開發(fā)中會(huì)有一個(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)營中的的重要性,并對(duì)比了傳統(tǒng)UV統(tǒng)計(jì)方案與HyperLogLog算法的優(yōu)勢(shì),HyperLogLogLog在內(nèi)存占用、寫入性能與統(tǒng)計(jì)精度方面表現(xiàn)出色,感興趣的朋友跟隨小編一起看看吧2026-06-06
linux 常見的標(biāo)識(shí)與Redis數(shù)據(jù)庫詳解
這篇文章主要介紹了linux 常見的標(biāo)識(shí)與Redis數(shù)據(jù)庫,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10

