jsp + mysql 乱码/깨짐 현상 제거하기
Posted by Albert 4552Day 38Min 38Sec ago [2012-11-02]
1. jsp 파일상단에 utf-8형식으로 설정한다.
<%@ page contentType="text/html; charset=UTF-8" %>
2. 매개 관련 파일(jsp,java,xml) 파일들을 utf-8 인코딩으로 설정한다.
3. Tomcat 사용자일 경우 톰캣의 Connector 에
<Connector URIEncoding="utf-8" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
을 추가하여 준다.
post 방식일때
request.setCharacterEncoding("UTF-8"); 설정을 해준다
4. mysql 디비상 utf-8형식인지 한번 체크한다.
나같은 경우 Sql yog 프로그램을 사용하여 디비생성시 utf-8로 생성한다. 물론 매개 컬럼 모두 utf-8격식으로 되었는지도 확인한다.
명령으로 확인시에는
show variables like "%colla%"
위 명령어로 확인하시면 된다.
인코딩방식 변환 명령은
ALTER DATABASE test DEFAULT CHARACTER SET 'UTF-8'
5. JDBC 의 URL설정을 해준다.
톰캣 사용시에는 context.xml 파일에서
<Context>
<Resource
name="jdbc/FCM"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
password="passwd"
maxIdle="2"
maxWait="5000"
username="root"
url="jdbc:mysql://localhost:3306/fcm1?useUnicode=true&characterEncoding=utf8"
maxActive="4"/>
</Context>
처럼 설정한다.
위의 5개사항을 모두 정상으로 설정시에는 utf-8글자가 깨지는 현상은 않나올것이다. ^^