[REDIS] 어떻게 저장하고 레디 스의 악센트로 문자열을 검색하는?
REDIS어떻게 저장하고 레디 스의 악센트로 문자열을 검색하는?
나는 세트로 관리하고 내 레디 스의 DB에 액센트 문자열을 검색하지 않습니다. 액센트 문자, 어떻게 내가 어디 세트 그들은 그들을 다시 검색 할 수 있습니다 인코딩?
redis> set test téléphone
OK
redis> get test
"t\xc3\xa9l\xc3\xa9phone"
나는이 이미 요청 된 알 (http://stackoverflow.com/questions/6731450/redis-problem-with-accents-utf-8-encoding)하지만 구체적인 대답은 없다.
해결법
-
==============================
1.레디 스 서버 자체는 그렇게 인코딩에 의존하지 않고, 진 개체로 모든 데이터를 저장한다. (UTF-8 문자 포함) 단지 클라이언트가 전송되는 것을 저장할 서버.
레디 스 서버 자체는 그렇게 인코딩에 의존하지 않고, 진 개체로 모든 데이터를 저장한다. (UTF-8 문자 포함) 단지 클라이언트가 전송되는 것을 저장할 서버.
여기에 몇 가지 실험은 다음과 같습니다 :
$ echo téléphone | hexdump -C 00000000 74 c3 a9 6c c3 a9 70 68 6f 6e 65 0a |t..l..phone.|
c3a9는 'E'문자의 표현입니다.
$ redis-cli > set t téléphone OK > get t "t\xc3\xa9l\xc3\xa9phone"
실제로 데이터가 올바르게 레디 스 서버에 저장됩니다. 이 단말기에서 실행될 때, 상기 레디 스 클라이언트 해석 출력과 sdscatrepr 함수를 적용은 (그 정의에 따라 장소이고, 어쨌든 멀티 바이트 문자를 위해 나누어 질 수있다) 이외의 인쇄 문자를 변환한다.
간단한 해결 방법은 '원시'옵션을 발사 레디 스-CLI에 있습니다 :
$ redis-cli --raw > get t téléphone
그것은 실제로 문제가되지 않습니다, 그래서 자신의 응용 프로그램은 아마, 클라이언트 라이브러리보다는 레디 스 - CLI 중 하나를 사용합니다.
from https://stackoverflow.com/questions/8963372/how-to-save-and-retrieve-string-with-accents-in-redis by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 방법 레디 스 MySQL에서 데이터를 이동 (0) | 2020.01.03 |
---|---|
[REDIS] 삭제 또는 패턴으로 키를 얻는 방법 레디 스 스택 교환 (0) | 2020.01.03 |
[REDIS] 그것은 레디 스의 다른 루아 스크립트에서 정의 루아 함수를 호출 할 수 있습니다? (0) | 2020.01.03 |
[REDIS] 레디 스 : 목록 또는 정렬 된 세트의 뉴스 피드 밖으로 팬? (0) | 2020.01.03 |
[REDIS] 연결 해제 명령은 항상 더 나은 DEL 명령보다? (0) | 2020.01.03 |