← Back to team overview

dhis2-devs team mailing list archive

Re: [Bug 706833] Re: Cann't create design data entry form with Sinhala language

 

Hi Heiu,

Check if your Database and tables have UTF8 encouding.

regards,
murod

On Mon, Jan 24, 2011 at 10:52 AM, Hieu Duy Dang
<hieu.hispvietnam@xxxxxxxxx>wrote:

> ** Changed in: dhis2
>       Status: New => Invalid
>
> --
> You received this bug notification because you are a member of DHIS 2
> India Developers, which is subscribed to DHIS.
> https://bugs.launchpad.net/bugs/706833
>
> Title:
>  Cann't create design data entry form with Sinhala language
>
> Status in DHIS 2 - District Health Information Software:
>   Invalid
>
> Bug description:
>  When create data entry form with Sinhala characters, there is
>  exception occur
>
>  An exception occurred
>
>  Sorry! The system failed to execute the operation. Usually, no data is
>  lost and you can continue working by going back to the previous page.
>  If you wish to report the incident, please save this page by choosing
>  "File -> Save (page as)" in your browser and include the saved page in
>  the report. The problem details are listed below.
>
>  [-] Exception (org.springframework.jdbc.UncategorizedSQLException):
>  Hibernate flushing: Could not execute JDBC batch update; uncategorized
>  SQLException for SQL [update dataentryform set name=?, htmlcode=?
>  where dataentryformid=?]; SQL state [HY000]; error code [1366];
>  Incorrect string value: '\xE0\xB6\x85\xE0\xB7\x92...' for column
>  'htmlcode' at row 1; nested exception is
>  java.sql.BatchUpdateException: Incorrect string value:
>  '\xE0\xB6\x85\xE0\xB7\x92...' for column 'htmlcode' at row 1
>
>      *
> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
>      *
> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
>      *
> org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
>      *
> org.springframework.orm.hibernate3.HibernateTransactionManager.convertJdbcAccessException(HibernateTransactionManager.java:805)
>      *
> org.springframework.orm.hibernate3.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:791)
>      *
> org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:664)
>      *
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
>      *
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
>      *
> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
>      *
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
>      *
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>      *
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
>      * $Proxy36.updateDataEntryForm(Unknown source)
>      *
> org.hisp.dhis.dataset.action.dataentryform.SaveDataEntryFormAction.execute(SaveDataEntryFormAction.java:110)
>      *
> sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
>      *
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>      *
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>      * java.lang.reflect.Method.invoke(Method.java:597)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
>      *
> org.hisp.dhis.webportal.interceptor.XWorkPortalUserInterceptor.intercept(XWorkPortalUserInterceptor.java:82)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.webportal.interceptor.XWorkPortalModuleInterceptor.intercept(XWorkPortalModuleInterceptor.java:85)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.webportal.interceptor.XWorkPortalMenuInterceptor.intercept(XWorkPortalMenuInterceptor.java:91)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.webportal.interceptor.XWorkPortalParamsInterceptor.intercept(XWorkPortalParamsInterceptor.java:117)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.interceptor.ContextInterceptor.intercept(ContextInterceptor.java:70)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.interceptor.StyleInterceptor.intercept(StyleInterceptor.java:107)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.interceptor.SystemSettingInterceptor.intercept(SystemSettingInterceptor.java:103)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.interceptor.DataDictionaryModeInterceptor.intercept(DataDictionaryModeInterceptor.java:109)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.interceptor.DisplayPropertyInterceptor.intercept(DisplayPropertyInterceptor.java:90)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.interceptor.SortOrderInterceptor.intercept(SortOrderInterceptor.java:124)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.security.intercept.XWorkSecurityInterceptor.intercept(XWorkSecurityInterceptor.java:98)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:141)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
>      *
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.interceptor.ExceptionInterceptor.intercept(ExceptionInterceptor.java:90)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
>      *
> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
>      *
> org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
>      *
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>      *
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>      *
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
>      *
> org.hisp.dhis.security.filter.RequiredLoginFilter.doFilter(RequiredLoginFilter.java:129)
>      *
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>      *
> org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:112)
>      *
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>      *
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
>      *
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>      *
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
>      *
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>      *
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
>      *
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>      *
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
>      *
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
>      *
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
>      *
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>      *
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>      *
> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
>      *
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>      *
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>      *
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>      *
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>      *
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
>      *
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>      *
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>      *
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>      *
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
>      *
> org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:843)
>      *
> org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:679)
>      *
> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1293)
>      * java.lang.Thread.run(Thread.java:619)
>
>  [-] Caused by (java.sql.BatchUpdateException): Incorrect string value:
>  '\xE0\xB6\x85\xE0\xB7\x92...' for column 'htmlcode' at row 1
>
>      *
> com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1666)
>      *
> com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1082)
>      *
> com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
>      *
> org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
>      *
> org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
>      *
> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:262)
>      *
> org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:179)
>      *
> org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
>      *
> org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
>      * org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1206)
>      * org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:375)
>      *
> org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
>      *
> org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:656)
>      *
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
>      *
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
>      *
> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
>      *
> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
>      *
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>      *
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
>      * $Proxy36.updateDataEntryForm(Unknown source)
>      *
> org.hisp.dhis.dataset.action.dataentryform.SaveDataEntryFormAction.execute(SaveDataEntryFormAction.java:110)
>      *
> sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
>      *
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>      *
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>      * java.lang.reflect.Method.invoke(Method.java:597)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
>      *
> org.hisp.dhis.webportal.interceptor.XWorkPortalUserInterceptor.intercept(XWorkPortalUserInterceptor.java:82)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.webportal.interceptor.XWorkPortalModuleInterceptor.intercept(XWorkPortalModuleInterceptor.java:85)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.webportal.interceptor.XWorkPortalMenuInterceptor.intercept(XWorkPortalMenuInterceptor.java:91)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.webportal.interceptor.XWorkPortalParamsInterceptor.intercept(XWorkPortalParamsInterceptor.java:117)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.interceptor.ContextInterceptor.intercept(ContextInterceptor.java:70)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.interceptor.StyleInterceptor.intercept(StyleInterceptor.java:107)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.interceptor.SystemSettingInterceptor.intercept(SystemSettingInterceptor.java:103)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.interceptor.DataDictionaryModeInterceptor.intercept(DataDictionaryModeInterceptor.java:109)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.interceptor.DisplayPropertyInterceptor.intercept(DisplayPropertyInterceptor.java:90)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.interceptor.SortOrderInterceptor.intercept(SortOrderInterceptor.java:124)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.security.intercept.XWorkSecurityInterceptor.intercept(XWorkSecurityInterceptor.java:98)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:141)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
>      *
> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.hisp.dhis.interceptor.ExceptionInterceptor.intercept(ExceptionInterceptor.java:90)
>      *
> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
>      *
> org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
>      *
> org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
>      *
> org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
>      *
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>      *
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>      *
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
>      *
> org.hisp.dhis.security.filter.RequiredLoginFilter.doFilter(RequiredLoginFilter.java:129)
>      *
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>      *
> org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:112)
>      *
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>      *
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
>      *
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>      *
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
>      *
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>      *
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
>      *
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
>      *
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
>      *
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
>      *
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
>      *
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>      *
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>      *
> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
>      *
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>      *
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>      *
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>      *
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>      *
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
>      *
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>      *
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>      *
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>      *
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
>      *
> org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:843)
>      *
> org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:679)
>      *
> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1293)
>      * java.lang.Thread.run(Thread.java:619)
>
>
>

-- 
You received this bug notification because you are a member of DHIS 2
developers, which is subscribed to DHIS.
https://bugs.launchpad.net/bugs/706833

Title:
  Cann't create design data entry form with Sinhala language

Status in DHIS 2 - District Health Information Software:
  Invalid

Bug description:
  When create data entry form with Sinhala characters, there is
  exception occur

  An exception occurred

  Sorry! The system failed to execute the operation. Usually, no data is
  lost and you can continue working by going back to the previous page.
  If you wish to report the incident, please save this page by choosing
  "File -> Save (page as)" in your browser and include the saved page in
  the report. The problem details are listed below.

  [-] Exception (org.springframework.jdbc.UncategorizedSQLException):
  Hibernate flushing: Could not execute JDBC batch update; uncategorized
  SQLException for SQL [update dataentryform set name=?, htmlcode=?
  where dataentryformid=?]; SQL state [HY000]; error code [1366];
  Incorrect string value: '\xE0\xB6\x85\xE0\xB7\x92...' for column
  'htmlcode' at row 1; nested exception is
  java.sql.BatchUpdateException: Incorrect string value:
  '\xE0\xB6\x85\xE0\xB7\x92...' for column 'htmlcode' at row 1

      * org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
      * org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
      * org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
      * org.springframework.orm.hibernate3.HibernateTransactionManager.convertJdbcAccessException(HibernateTransactionManager.java:805)
      * org.springframework.orm.hibernate3.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:791)
      * org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:664)
      * org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
      * org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
      * org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
      * org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
      * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
      * org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
      * $Proxy36.updateDataEntryForm(Unknown source)
      * org.hisp.dhis.dataset.action.dataentryform.SaveDataEntryFormAction.execute(SaveDataEntryFormAction.java:110)
      * sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
      * sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      * sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      * java.lang.reflect.Method.invoke(Method.java:597)
      * com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
      * com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
      * org.hisp.dhis.webportal.interceptor.XWorkPortalUserInterceptor.intercept(XWorkPortalUserInterceptor.java:82)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.webportal.interceptor.XWorkPortalModuleInterceptor.intercept(XWorkPortalModuleInterceptor.java:85)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.webportal.interceptor.XWorkPortalMenuInterceptor.intercept(XWorkPortalMenuInterceptor.java:91)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.webportal.interceptor.XWorkPortalParamsInterceptor.intercept(XWorkPortalParamsInterceptor.java:117)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.interceptor.ContextInterceptor.intercept(ContextInterceptor.java:70)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.interceptor.StyleInterceptor.intercept(StyleInterceptor.java:107)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.interceptor.SystemSettingInterceptor.intercept(SystemSettingInterceptor.java:103)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.interceptor.DataDictionaryModeInterceptor.intercept(DataDictionaryModeInterceptor.java:109)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.interceptor.DisplayPropertyInterceptor.intercept(DisplayPropertyInterceptor.java:90)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.interceptor.SortOrderInterceptor.intercept(SortOrderInterceptor.java:124)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.security.intercept.XWorkSecurityInterceptor.intercept(XWorkSecurityInterceptor.java:98)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:141)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
      * com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.interceptor.ExceptionInterceptor.intercept(ExceptionInterceptor.java:90)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
      * org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
      * org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
      * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      * org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
      * org.hisp.dhis.security.filter.RequiredLoginFilter.doFilter(RequiredLoginFilter.java:129)
      * org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
      * org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:112)
      * org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
      * org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
      * org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
      * org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
      * org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
      * org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
      * org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
      * org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
      * org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
      * org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
      * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      * org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
      * org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
      * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      * org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      * org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
      * org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      * org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
      * org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
      * org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
      * org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:843)
      * org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:679)
      * org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1293)
      * java.lang.Thread.run(Thread.java:619)

  [-] Caused by (java.sql.BatchUpdateException): Incorrect string value:
  '\xE0\xB6\x85\xE0\xB7\x92...' for column 'htmlcode' at row 1

      * com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1666)
      * com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1082)
      * com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723)
      * org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
      * org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
      * org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:262)
      * org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:179)
      * org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
      * org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
      * org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1206)
      * org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:375)
      * org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
      * org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:656)
      * org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
      * org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
      * org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
      * org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
      * org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
      * org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
      * $Proxy36.updateDataEntryForm(Unknown source)
      * org.hisp.dhis.dataset.action.dataentryform.SaveDataEntryFormAction.execute(SaveDataEntryFormAction.java:110)
      * sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
      * sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      * sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      * java.lang.reflect.Method.invoke(Method.java:597)
      * com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
      * com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
      * org.hisp.dhis.webportal.interceptor.XWorkPortalUserInterceptor.intercept(XWorkPortalUserInterceptor.java:82)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.webportal.interceptor.XWorkPortalModuleInterceptor.intercept(XWorkPortalModuleInterceptor.java:85)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.webportal.interceptor.XWorkPortalMenuInterceptor.intercept(XWorkPortalMenuInterceptor.java:91)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.webportal.interceptor.XWorkPortalParamsInterceptor.intercept(XWorkPortalParamsInterceptor.java:117)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.interceptor.ContextInterceptor.intercept(ContextInterceptor.java:70)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.interceptor.StyleInterceptor.intercept(StyleInterceptor.java:107)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.interceptor.SystemSettingInterceptor.intercept(SystemSettingInterceptor.java:103)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.interceptor.DataDictionaryModeInterceptor.intercept(DataDictionaryModeInterceptor.java:109)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.interceptor.DisplayPropertyInterceptor.intercept(DisplayPropertyInterceptor.java:90)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.interceptor.SortOrderInterceptor.intercept(SortOrderInterceptor.java:124)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.security.intercept.XWorkSecurityInterceptor.intercept(XWorkSecurityInterceptor.java:98)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:141)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
      * com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.hisp.dhis.interceptor.ExceptionInterceptor.intercept(ExceptionInterceptor.java:90)
      * com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
      * org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
      * org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
      * org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
      * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      * org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
      * org.hisp.dhis.security.filter.RequiredLoginFilter.doFilter(RequiredLoginFilter.java:129)
      * org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
      * org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:112)
      * org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
      * org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
      * org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
      * org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
      * org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
      * org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
      * org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
      * org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
      * org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
      * org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
      * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      * org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
      * org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
      * org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
      * org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
      * org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      * org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
      * org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      * org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
      * org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
      * org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
      * org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:843)
      * org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:679)
      * org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1293)
      * java.lang.Thread.run(Thread.java:619)





Follow ups

References