jsonify로 한글이 포함된 데이터를 전달했는데,
한글이 깨져서 유니코드 형태로 나타나는 현상이 발생했다
찾아보니 jsonify를 사용해서 나타나는 오류였다
간단하게 두 가지 해결법이 있다. (내가 아는 것)
이건 코드 수정이 필요없는 초간단 해결법이다.
나는 프론트쪽에서 말하기 전까지는 이 오류가 발생하는지 몰랐는데, 그 이유는 크롬 확장자로 JSON Viewer가 설치되어 있었기 때문이다. 이 뷰어가 설치되어 있으면 브라우저에서 제대로 나타나는 것 같다. 그래서 내 컴퓨터에선 한글이 제대로 출력되는데 왜 저쪽에서 깨진다고 하지? 싶어서 처음엔 내 잘못이 아닌줄 알았다.
이걸 설치하면
이런 지저분한 화면이 아닌,
이런 깔끔하고 정리된 화면을 브라우저에서 볼 수 있다.
json 파일 특성상 대부분 길고 지저분하게 생겨서 그냥 보면 불편하기 때문에 이 확장자를 설치하면 훨씬 가독성 있게 코드를 확인할 수 있어서 좋다.
그리고 프론트 측에서도 이 확장자를 설치하니 데이터가 한글로 올바르게 받아와진다고 했다. 굿굿
그러나 더 근본적인 방법은 다음과 같다.
jsonify를 json_dumps로 바꾸는 것이다.
예시는 다음과 같다.
<변경 전>
op_json = jsonify({'emotion': e_arr, 'percent': p_arr})
<변경 후>
output_json = json.dumps({'emotion': e_arr, 'percent': p_arr}, ensure_ascii = False)
주의할 점은 뒤에
ensure_ascii = False
이 코드를 꼭 넣어줘야한다는 점이다