一、問題復(fù)現(xiàn)(編碼錯亂)
? ? ? ? 剛安裝好的redis在使用的過程中,若使用到了漢字,則在顯示的時候,漢字是不能夠正常顯示的,因為redis在解析的過程中,會將漢字轉(zhuǎn)換成其他編碼的格式,如下圖:
二、Redis支持哪些類型的編碼?
????????Redis是一款開源的內(nèi)存數(shù)據(jù)庫,它可以用來存儲字符串、哈希、列表、集合和有序集合等類型的鍵值對數(shù)據(jù),支持靈活的多種字符集,從而豐富用戶體驗。
Redis支持的字符集包括US-ASCII、ISO⑻859⑴、UTF⑻、GBK等多種全球性字符集。US-ASCII字符集,也稱為7位ASCII碼,是最經(jīng)常使用的字符集,其中的128個可打印的字符,在大多數(shù)英語語言中正確表示文本文件內(nèi)容,Redis采取US-ASCII字符集存儲和操作String類型的數(shù)據(jù),以最大程度減少存儲空間。
ISO⑻859⑴則是一種多國語言字符集,由基礎(chǔ)的128個ASCII碼組合而成,能夠支持多國語言,Redis通過ISO⑻859⑴字符集來存儲區(qū)別的多國語言,例如日語、法語和西班牙語等,從而提升國際化的編碼效果和兼容性。
UTF⑻是目前最經(jīng)常使用的Unicode字符集,由ISO 1756⑴:2018規(guī)范,它采取可變長度的編碼對象,最多使用4個字節(jié)編碼,這使得UTF⑻可以表示幾近任意語言的字符,Redis使用UTF⑻字符集,處理中文字符內(nèi)容,具有及時性,輕松上線和可擴大性,是目前行業(yè)上普遍推薦使用的字符集方案。
GBK字符集是由國家標(biāo)準(zhǔn)總局定義和部署的簡體中文編碼,Redis也支持使用,用來滿足國內(nèi)用戶的使用需求,如果希望針對國內(nèi)用戶,使用Redis存儲文本信息,可以斟酌使用GBK字符集,以提供較好的用戶體驗。
三、怎么通過設(shè)置,才能達(dá)到顯示中文
3.1、臨時設(shè)置
????????Redis 默認(rèn)的編碼格式是 ascii,如果需要在命令行中臨時配置 Redis 的編碼格式為 UTF-8,可以使用以下命令:
```
????????redis-cli --raw
```
????????其中,`--raw` 參數(shù)表示以二進(jìn)制格式讀取 Redis 的鍵值對,這樣在輸出時就不會使用 Redis 默認(rèn)的編碼格式,而是直接輸出二進(jìn)制值(即 UTF-8 編碼的字符串)。
3.2、永久設(shè)置
? ? ? ? 查看當(dāng)前redis啟動的進(jìn)程號
Windows系統(tǒng):打開命令提示符(cmd)并輸入
tasklist | findstr redis-server
,按Enter鍵運行該命令,將顯示所有包含"redis-server"關(guān)鍵字的進(jìn)程信息。Linux/Mac系統(tǒng):在終端中輸入
ps aux | grep redis-server
,然后按Enter鍵運行該命令,將會列出所有與Redis相關(guān)的進(jìn)程及其對應(yīng)的PID(Process ID)。
? ? ? ? ?關(guān)閉redis的服務(wù)之后,去到redis的配置文件中將字符集設(shè)置為utf-8并寫入redis配置文件,可以在redis配置文件(redis.conf)中添加如下行:
文章來源:http://www.zghlxwxcb.cn/news/detail-786145.html
?這里居然沒實現(xiàn),有時間再看看文章來源地址http://www.zghlxwxcb.cn/news/detail-786145.html
到了這里,關(guān)于Redis如何把字符集的編碼格式設(shè)置為UTF-8的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!