인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

soojinkimss님의 프로필 이미지

작성한 질문수

실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌

한글처리

15강 한글 처리 질문

작성

·

18

0

jsp화면에서 contentType 과 pageEncoding 이 모두 UTF-8인데 왜 상단에 reqeust.setCharacterEnding("UTF-8"); 을 지정해야 되는지 잘 모르겠습니다. 어짜피 저 코드를 주석 달아도 실행되서 똑같이 출력 결과가 동일한데 굳이 하는 이유는 무엇인지 자세히 알려주실 수 있을까요?ㅠ

답변 1

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. soojinkimss님.

질문해주신 JSP의 한글 처리에 대한 내용은 웹 개발에서 자주 발생하는 이슈 중 하나입니다. request.setCharacterEncoding("UTF-8")의 역할은 클라이언트에서 서버로 전송되는 데이터의 인코딩을 지정하는 것입니다. 이 설정은 특히 클라이언트가 서버로 전송한 데이터가 GET 방식이 아닌 POST 방식으로 전송될 때 중요해집니다.

간단한 설명:

  • contentTypepageEncoding: JSP 파일에 직접 설정하는 이 두 가지는 주로 응답 데이터를 위한 것입니다. 즉, 서버에서 클라이언트로 보낼 때의 인코딩을 지정합니다.
  • request.setCharacterEncoding("UTF-8"): 클라이언트에서 서버로 데이터가 전송될 때(특히 POST 방식)의 인코딩을 설정합니다.

request.setCharacterEncoding("UTF-8")을 사용하는가:

  1. POST 요청 데이터 처리: GET 요청은 기본적으로 URL에 인코딩된 데이터를 보내지만, POST 요청은 바디에 데이터를 담기 때문에 웹 애플리케이션에서 처리 방식이 다릅니다. request.setCharacterEncoding은 POST 요청에서 데이터를 올바르게 해석하기 위해 필요합니다.
  2. 해당 메소드 생략 시 문제 발생 가능성: 환경에 따라 디폴트 인코딩 방식이 다를 수 있기 때문에, 명시적으로 설정하여 예기치 않은 깨짐(garbled text) 현상을 막을 수 있습니다.

관련된 질문과 더 많은 정보를 원하시면 다음 링크를 참고하세요: JSP 한글 처리와 인코딩 설정 이해하기.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.