반응형
GET 방식에서 한글 파라미터 깨짐 문제 해결법 (Tomcat URIEncoding 설정)
JSP나 Spring 환경에서 GET 방식으로 한글을 전송하면 %EB%B0%80...처럼 인코딩된 값이 깨져서 출력되는 경우가 있습니다.
이 문제는 주로 Tomcat의 URIEncoding 설정이 누락
✅ 원인
- Tomcat 기본 설정은 ISO-8859-1
- GET 방식은 request.setCharacterEncoding()으로 처리 불가
✅ 해결 방법
1. Tomcat server.xml 설정
<Connector port=\"8080\" protocol=\"HTTP/1.1\"\n connectionTimeout=\"20000\"\n redirectPort=\"8443\"\n URIEncoding=\"UTF-8\" />
URIEncoding=\"UTF-8\" 옵션을 반드시 추가해야 GET 요청이 깨지지 않습니다.
2. nginx 리버스 프록시 사용 시
nginx에서 charset utf-8; 또는 헤더 강제 설정도 필요할 수 있습니다.
📌 확인 테스트
<a href=\"/search.jsp?keyword=자바클래스\">검색</a>
→ 이때 서버 로그에서 ???로 출력된다면 URIEncoding 설정 누락입니다.
✅ 마무리
POST 요청은 request.setCharacterEncoding(\"UTF-8\")으로 해결되지만,
GET 요청은 반드시 Tomcat 설정에서 URIEncoding 옵션을 추가해야 합니다.
🔔 다음 글 예고
[Spring 필터를 활용한 전역 인코딩 처리법]
반응형
'웹개발 > 실무노트' 카테고리의 다른 글
| 레거시 Spring/JSP 프로젝트에서 XSS 필터 적용하는 법 (web.xml & Jsoup 실전 가이드) (0) | 2025.12.02 |
|---|---|
| 톰캣 버전정보 노출 차단 가이드 (0) | 2025.12.01 |
| Oracle에서 한글 복사 시 줄바꿈 생기는 문제, 실무에서 이렇게 해결했습니다 (1) | 2025.07.18 |
| 이클립스에서 MyBatis XML 회색으로 나올 때, 진짜 해결 방법은 이거다 (1) | 2025.07.18 |
| JSP에서 POST 요청 한글 깨짐 해결법 (인코딩 설정 정리) (0) | 2025.07.01 |