alter TABLE INC_ACT_INFO modify column ACT_CONTENT text character set utf8 collate utf8_general_ci;




Incorrect string value: '\xED\x95\x9C\xEA\xB8\x80' for column 'ACT_CONTENT' at row 1
     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)
     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4120)
     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4052)
     at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2503)
     at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2664)
     at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2815)
     at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
     at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1379)
     at core.log.impl.PreparedStatementLoggable.execute(PreparedStatementLoggable.java:109)
     at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:601)
     at core.log.aop.handler.DaoInfo.doAround(DaoInfo.java:95)
     at core.log.aop.reflection.profiler.AroundProfiler.invoke(AroundProfiler.java:19)
     at $Proxy18.execute(Unknown Source)
     at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
     at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
     at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:80)
     at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteUpdate(MappedStatement.java:216)
     at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:94)
     at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.update(SqlMapExecutorDelegate.java:457)
     at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.update(SqlMapSessionImpl.java:90)
     at org.springframework.orm.ibatis.SqlMapClientTemplate$9.doInSqlMapClient(SqlMapClientTemplate.java:380)
     at org.springframework.orm.ibatis.SqlMapClientTemplate$9.doInSqlMapClient(SqlMapClientTemplate.java:1)
     at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:200)
     at org.springframework.orm.ibatis.SqlMapClientTemplate.update(SqlMapClientTemplate.java:378)
     at egovframework.rte.psl.dataaccess.EgovAbstractDAO.update(EgovAbstractDAO.java:101)
     at kr.co.kcc.itsm.inc.dao.IncDao_2.updateIcReceipt(IncDao_2.java:424)
     at kr.co.kcc.itsm.inc.dao.IncDao_2$$FastClassByCGLIB$$656e8b1e.invoke(<generated>)
     at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
     at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:688)
     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
     at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
     at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621)
     at kr.co.kcc.itsm.inc.dao.IncDao_2$$EnhancerByCGLIB$$fb8409b1.updateIcReceipt(<generated>)
     at kr.co.kcc.itsm.inc.service.IncService_2.updateIcReceipt(IncService_2.java:948)
     at kr.co.kcc.itsm.inc.controller.IncController.registerIcReceipt(IncController.java:779)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:601)
     at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
     at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
     at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
     at kr.co.kcc.itsm.common.spring.initialize.ApplicationServlet.doDispatch(ApplicationServlet.java:173)
     at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
     at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
     at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
     at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
     at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
     at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
     at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
     at java.lang.Thread.run(Thread.java:722)


INFO  [ KEFJ2EE] 2014-02-14 13:11:36,962 kefj2ee.framework.web.spring.resolver.ExceptionResolver.resolveException(ExceptionResolver.java:33) -->> resolveException =============> kr.co.kcc.itsm.common.exception.SysException: 시스템 에러(SQL Exception) 


------------------------------------------------------------------------------------------------------
http://notcracker.tistory.com/49

한글이 insert 가 안되는 경우는 100% character set 문제다.
비록 server , client , database, table, connection 모든 character set 을 utf8로 변경했다 하더라도
latin1 상태에서 만든 테이블은 각 컬럼들이 여전히 latin1로 남아있다.


각 컬럼에 스샷과 같이 alter 명령으로 character set 을 utf8 로 바꿔주면 한글이 정상적으로 잘 입력된다.






Posted by wychoi
,