검색어 한글입력
318
작성한 질문수 3
안녕하세요? 열공중인 학생입니다.
검색기능 구현을 열심히 따라하고 있는데 보니 영문 검색은 작동하는데 한글 검색은 동작하지 않고
{'$or': [{'title': {'$regex': 'í\x8c\x8cì\x9d´ì\x8d¬'}}]}
가 프린트 됩니다.
주소창에는 http://localhost:9000/list?search=0&keyword=파이썬 로 잘 나오는 것 같은데 결과는 "데이터가 없습니다." 라고 나옵니다.
해결방법이 궁금합니다.
답변 2
3
일반적으로 많이 사용되는 크롬인 경우에는 대부분의 데이터를 유니코드로 처리하고 플라스크는 내부적으로 이를 자동으로 처리하게 되어있기 때문에 별 문제가 없을꺼라 사료됩니다만 웹브라우저를 어떤걸로 테스트 하셨는지 모르겠습니다.
어쨌든 한글을 보낼때 데이터의 인코딩 문제가 발생해서 생기는 문제입니다. 여러가지 처리 및 해결 방안이 있겠지만 검색시 보내는 한글 데이터를 javascript 의 escape() 함수로 감싸서 보내는 방법이 가장 간단할걸로 생각됩니다.
HTML 쪽 파일에서는 아래와 같이
self.location.href= "{{url_for('lists')}}?search=" + escape(v_search) + "&keyword=" + escape(v_keyword);
이런식으로 한글을 escape 처리해서 전송하고
받는 쪽 py 파일에서는 아래와 같이 다시 urllib.parse.unquote() 함수를 사용해서 디코딩 해야 합니다.
from urllib.parse import unquote
unquote() 함수로 해당 데이터를 디코딩 시키면 될 것 같습니다. 브라우저 및 환경이 어떤지 정확히 알 수 없어 이 답변으로 해결되실지 모르겠습니다.
0
헉! IE로 테스트하다가 발생한 것이었네요! Edge나 크롬, 웨일 브라우저에서는 잘 동작합니다!
IE는 유니코드를 잘 처리 못하는지는 처음 알았습니다. 선생님 감사합니다. 그리고 알려주신 내용도 잘 참고 하겠습니다!
iis 접속후 자동으로 로그인 창이 나오도록 설정이 기능한가요?
0
65
2
리스트 이동 시 창 에러 발생
0
75
1
배포후 회원 등록 후 로그인 에러...
0
73
2
내부 서버 오류
0
67
2
app.config["MONGO_URI"] = "mongodb://localhost:27017/pm_db"
0
53
2
DB 검색하면 데이터가 없습니다. 라고 나와요. 5시간을 찾아봐도 모르겠어서 문의드려봅니다.
0
47
1
몽고db studio3T를 깔았는데
0
57
2
flake8과 linter
0
74
3
500이 뜹니다.
0
57
2
첨부파일 삭제
0
66
2
검색기능 질문
0
61
2
google.py
0
66
2
Studio 3T에 DB insert가 되지 않는 문제를 해결하지 못하고 있습니다 ㅠ
0
83
3
혹시 전체 코드 공개되어 있나요?
0
96
1
join.html 의 form 태그값 을 member_join() 에서 처리못함.
0
104
1
google.py 몽고db 샘플데이터 만들기
0
100
2
flake8 설치 이후 명령팔레트에서 linter가 안보입니다.
0
237
2
파이썬으로 만들어서 웹호스팅에 올릴경우
0
304
1
현재 구글검색 무한스크롤변경 문의합니다
0
297
1
몽고디비아틀라스로 추가 공부해서 올립니다.
0
218
1
IIS 500.19에러
0
660
2
버전 문제도 수정했는데 결과가 안나옵니다.
0
258
1
데이터베이스 저장관련 질문입니다.
0
270
1
test가 생기지 않습니다.
0
511
3





