HTML의 인코딩 방식 때문에 한글이 깨질 때가 있다.


이는 브라우저에서 인식하는 인코딩 방식과 html 파일의 인코딩 방식이 달라 생기는 문제인데,

둘 다 하나의 인코딩 방식으로 통일해 주면 된다.




Get : 웹 컨테이너의 설정 파일에 인코딩 방식을 추가해서 해결  URIEncoding='utf-8'

* 필요한 이유 : post 방식을 구조상 사용할 수 없을 경우

    영어가 아닌 한글 데이터를 전달해야 할 경우


Post: 컨테이너에서 인코딩을 결정 할 수 없고 처리하는 쪽에서 인코딩을 설정해서 해결

context type 과 charset / 문서타입을 일치시키고

JSP페이지 상단에 request.setCharacterEncoding("인코딩 방식"); 추가

*인코딩방식-UTF-8, EUC-KR



XML파일 수정하기


Get (Server.xml )

1) port="8080"인 태그 끝에 URIEncoding="UTF-8" 추가한다 (혹은 EUC-KR)

2) 받아온 데이터를 String 클래스를 통해 문자셋을 변화한다 

*개수가 많다면 효율적이지 못한방법



POST (Web.xml)


<!-- Encoding filter -->

<filter>

<filter-name>encodingFilter</filter-name>

<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>UTF-8</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>encodingFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>






출처: http://seongilman.tistory.com/148 [SEONG]

출처 http://m.blog.naver.com/kch1598/220522085521




서블릿에서 한글 처리하기

1.GET방식


이클립스로 생성한 JSP페이지의 기본 인코딩방식이 euc-kr이기때문에 톰캣의 URL인코딩 방식인 UTF-8 방식으로 지정해준다.


2.POST방식

request.setCharacterEncoding 메소드를 사용하여 BODY영역의 인코딩 방식을 변경해준다.


+ Recent posts