써먹는 웹개발

[JSP] form 전송으로 euc-kr 형식으로 받았을때 한글이 안깨지는 2가지 방법 본문

웹개발/Java & Jsp

[JSP] form 전송으로 euc-kr 형식으로 받았을때 한글이 안깨지는 2가지 방법

kmhan 2020. 8. 11. 01:19


728x90
반응형

form 전송으로 euc-kr 형식으로 받았을때 한글이 안깨지는 2가지 방법입니다.

 

1. spring 환경이면 web.xml에 encodingFilter 값을 EUC-KR로 지정하는 방법입니다.

<filter>
 <filter-name>encodingFilter</filter-name>
 <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
 <init-param>
   <param-name>encoding</param-name>
   <param-value>EUC-KR</param-value>
 </init-param>
</filter>

 

2. jsp에서 받는 방법입니다.

<%@ page language="java" contentType="text/html; charset=euc-kr" pageEncoding="euc-kr"%>
...
<script id="script">
  <%
   request.setCharacterEncoding("ks_c_5601-1987"); // form을 보내는 환경에 따라 다르니 테스트 필요

   // xmldata라는 파라미터를 가져온다.
   String xmlData = request.getParameter("xmldata");

   // 맵에 담기
   Map<String, Object> map = new HashMap<String,Object>();
   map.put("XMLDATA", URLDecoder.decode(xmlData, "UTF-8"));
   session.setAttribute(SessionConstant.세션명, map);

   // 다른화면으로 전달하는 방법
   response.setContextType("application/json; charset=utf-8");
   response.sendRedirect("/매핑주소");
 %>
</script>

 

728x90
반응형


Comments