오랜만에 홈페이지를 만들던 중 MySQL에서 한글문제가 또 발생했다.
예전에 자주 해결했던 문제였으나, 그때그때 해결하고 넘어갔던 문제여서 넘어가고 또 까먹고, 검색하고, 이런 나를 보면서 에구, 이 기회에 정리하자 하던 찰나 좋은 글을 구글링해서 찾았다.
아래의 글은 간단한 정리 글 이므로 자세한 내용은 아래의 출처링크를 참조하기 바란다.
출처 : OKJSP GHLab님 http://okjsp.pe.kr/seq/72792
한글 완벽출력 조건 -.-
예전에 자주 해결했던 문제였으나, 그때그때 해결하고 넘어갔던 문제여서 넘어가고 또 까먹고, 검색하고, 이런 나를 보면서 에구, 이 기회에 정리하자 하던 찰나 좋은 글을 구글링해서 찾았다.
아래의 글은 간단한 정리 글 이므로 자세한 내용은 아래의 출처링크를 참조하기 바란다.
출처 : OKJSP GHLab님 http://okjsp.pe.kr/seq/72792
한글 완벽출력 조건 -.-
1. 모든 문서는 UTF-8 인코딩으로 저장되어야 함.
2. jsp 파일 상단에 <%@ page contentType = "text/html;charset=utf-8" %>
3. 서블릿은 request.setCharacterEncoding("utf-8")
4. 자바스크립트에서 encodeURIComponent("get방식한글") 처리
5. server.xml에서 Server - Service - Connector 엘리먼트에 URIEncoding="UTF-8" 을 추가
예)
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8" />
6. HttpURLConnection 을 통하여 UTF-8 로 된 URL 을 읽을 경우.
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
로 변경
7. jsp -> bean 데이터 전송은 문제 없지만 jsp -> jsp 에서 한글이 깨진다면 받는 부분에서
String test = request.getParameter("test ");
test = new String(test .getBytes("8859_1"), "UTF-8");
처럼 변환해서 저장.
8. MySQL DB역시 기본으로 UTF-8 세팅이 되어있어야 함
반응형