아래내용은 UTF-8로 작업할 시에 설정입니다.
EUC-KR의 경우 전부 EUC-KR로 바꾸어주심될듯합니다.
책에 예제를 공부하면서 한글로 값을 넘기면 한글이 깨지는 현상이 생겨서 해결하는 방법에 대해 찾아보았다.
우선
<% <%@page contentType="text/html" pageEncoding="UTF-8"%> String param = request.getParameter("name"); // 한가지 값만 받아옴 String params[] = request.getParameterValues("names"); // 배열을 받아옴 %>
위에 방식별로 2가지 방식을 각각 설명하도록 하겠습니다.
1. getParameter 에서의 한글인코딩
<% String param = request.getParameter("name"); param = new String(param.getBytes("ISO-8859-1"), "UTF-8"); %>
이런식으로 값을 받아와 변경시켜 주거나
<% String param = new String(request.getParameter("name").getBytes("ISO-8859-1"), "UTF-8"); %>
위처럼 한번에 바꿔버리는 경우도 있습니다.
따로메소드를 빼서 쓰는법도 있는데 에러가 발생하더군요. 이거는 해결해서 추가적으로 수정하겠습니다.
2. getParameterValues 에서의 한글인코딩
<% String params[] = request.getParameterValues("names"); // 우선 값을 받아온다 for(int i = 0 ; i < params.length ; i++){ params[i] = new String(params[i].getBytes("ISO-8859-1"), "UTF-8"); } // 값을 for문으로 하나하나 인코딩한다. %>
값을 통으로 받아 for문으로 하나하나 바꾸어주면 정상적으로 한글이 출력된다.
JSP정리해야하는데... 난 정리를 정말 못하나보다.
'Programming > JSP' 카테고리의 다른 글
db연결및 쿼리검색 (0) | 2013.02.13 |
---|