-
python error 해결법: flask response 한글 깨짐 현상Error Handling 2022. 3. 1. 20:39반응형
python framework 중 하나인 flask 를 이용하여 값을 응답 하다보면
한글인 경우 아래와 같이 깨져서 나타나는 경우가 있다.
{ "sentence": "\uc548\ub155\ud558\uc138\uc694" }
이경우는 flask 에서 사용하고 있는 인코딩이 utf8 이 아닌 ascii 라 발생한다.
해결법은 간단하게 아래와 같이 flask 를 호출한 부분에서 ascii 를 꺼주면 된다.
from flask import Flask app = Flask(__name__) # 아래 추가 app.config['JSON_AS_ASCII'] = False
그런데 flask 의 Response 모듈과 json.dump 를 사용하는 경우에는 위의 설정이 깨어지는 경우도 있다.
res = json.domps(result) Response(res, content_type='application/json; charset=utf-8')
이와 같은 경우에는 json.dump 에서 ascii 인코딩을 False 후 encode 를 utf8 로 변환하여 response 를 넘겨주면 된다.
아래와 같다.
res = json.dumps(res, ensure_ascii=False).encode('utf8') Response(res, content_type='application/json; charset=utf-8')
반응형'Error Handling' 카테고리의 다른 글