新聞中心
Redis是一款高性能的內(nèi)存數(shù)據(jù)庫,由于Redis對于多字符集和多語言的支持較差,導(dǎo)致存儲或取出中文內(nèi)容時存在亂碼現(xiàn)象,但可以有多種設(shè)置辦法來解決中文亂碼問題:

Redis中文亂碼問題可以通過設(shè)置redis配置文件解決。在redis配置文件中加入:
# 設(shè)置編碼
maxmemory-policy volatile-lru
maxmemory "1024mb"
maxmemory-samples 5
set-language zh_CN.UTF-8
可以選擇自己定義編碼,采用PHP提供的mb_detect_Encoding()函數(shù)來檢測字符的原始編碼,再用這個字符串編碼來處理,以PHP為例,php客戶端檢測輸出:
$encoding = mb_detect_encoding($str);
if ($encoding !== 'UTF-8') {
$str = iconv($encoding, 'UTF-8', $str);
}
可以通過增加連接參數(shù)來解決Redis中文亂碼問題。在PHP中,我們可以在連接Redis服務(wù)器之前增加一個參數(shù)—>SET_UTF8
$redis = new Redis();
$redis->connect('IP',PORT,SET_UTF8);
$redis->set('key', 'string中文value');
$value = $redis->get('key');
echo $value;
以上三種方式均能用來解決Redis中文亂碼問題,可以根據(jù)自己的需求來避免亂碼的產(chǎn)生。當(dāng)我們使用Redis的時候,注意檢測編碼,以免引起亂碼問題影響程序正常運行,從而影響程序的正常開發(fā)。
香港云服務(wù)器機房,創(chuàng)新互聯(lián)(www.cdcxhl.com)專業(yè)云服務(wù)器廠商,回大陸優(yōu)化帶寬,安全/穩(wěn)定/低延遲.創(chuàng)新互聯(lián)助力企業(yè)出海業(yè)務(wù),提供一站式解決方案。香港服務(wù)器-免備案低延遲-雙向CN2+BGP極速互訪!
當(dāng)前文章:解決Redis中文亂碼問題(存入redis中文亂碼)
本文來源:http://fisionsoft.com.cn/article/dhphjis.html


咨詢
建站咨詢
