개발/개발 자료
한글이 잘 되는데 DB 쿼리에 한글이 들어가면 안되는 경우 해결방법
시원한물냉
2013. 11. 13. 15:37
소스상에서 문제도없고 쿼리가 문제있는것도 아닌데
한글도 정상적으로 잘 나오는데
한글이 들어간 쿼리문을 실행시에 정상적인 결과가 나오지 않을때가 있다.
인코딩 문제인데,
본 글에서는 jsp를 예제로 설명한다.
String URL = "jdbc:mysql://localhost:3306/DATABASE";
String USER = "USER";
String PASS = "PWD";
여기서 핵심은 ?useUnicode=true&characterEncoding=utf8
db실행 자체의 인코딩을 바꿔주는 것이다.
이것은 URL에 붙여주면 된다.
아래와 같이
String URL = "jdbc:mysql://localhost:3306/DATABASE?useUnicode=true&characterEncoding=utf8";
실행해보면 한글이 정상적으로 잘 입력되는것을 볼수있다.
또한 값을 전달받을때에는
String str= new String(request.getParameter("str").getBytes("iso-8859-1"),"UTF-8");
이렇게 받아주면 한글 에러 해결!!끝