728x90
2020/07/19 - [웹 개발] - [Web] POST 요청
서버 측에 POST 요청을 보내보는 실습을 해봤습니다.
혹시 한글로 된 데이터를 보내보셨나요??
그럼 깨지는 현상이 발생합니다.
왜 그럴까요?
한글이 깨지는 이유
저희는 HTML에서도 UTF-8 인코딩을 해봤구요.
Servlet에서 출력할 때도 UTF-8로 설정해줬습니다.
그렇다면 서버로 보내는 과정에서 깨지는 경우밖에 남지 않습니다.
톰캣은 기본적으로 ISO-8859-1 인코딩을 사용합니다.
우리가 사용하는 한글은 2바이트인데 저 방식은 1바이트씩 끊어서 사용해요.
즉 한글이 이 과정에서 깨지게 됩니다.
깨진 데이터를 UTF-8로 바꿔서 출력해도 결과는 똑같죠.
이에 우리는 ISO-8859-1이 아닌 UTF-8을 사용하라고 알려주면 됩니다.
방법
Servlet 측으로 넘어가서 몇 가지 추가해주시면 됩니다.
response.setCharacterEncoding("UTF-8"); 를 기억하시나요?
클라이언트 쪽으로 전달하는 데이터를 UTF-8로 인코딩하겠다는 뜻입니다.
response가 쓰기 도구라면 읽기 도구인 request를 똑같은 과정을 거치면 되지 않을까요??
request.setCharacterEncoding("UTF-8");
이렇게 말이죠.
바로 정답입니다!!
이 방식으로 우리는 POST 요청도 한글로 받을 수 있게 됩니다.
728x90
'web' 카테고리의 다른 글
동기(Synchronous) vs 비동기(Asynchronous) (0) | 2021.03.03 |
---|---|
Cookie & Session (0) | 2020.07.29 |
[Web] POST 요청 (0) | 2020.07.19 |
Web(웹)이란? (0) | 2020.06.04 |
웹 백엔드(Backend)란? (0) | 2020.05.30 |