아래내용은 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

+ Recent posts