【java 9】-----Name不能添加中文?
来源:互联网 发布:周立功编程器 5000u 编辑:程序博客网 时间:2024/06/04 01:06
【java 9】-----Name不能添加中文?
前言:
在编程好的系统中,输入数字、字母都没有问题,但是输入汉字,就读不出来出现“?”问号:
数据库表中的显示如下:
报错日志如下:
Incorrect string value:'\xE5\x84\xBF\xE7\xAB\xA5' for column 'address' at row 1 2017-05-15 15:05:14,254 ERROR[org.hibernate.util.JDBCExceptionReporter] - Incorrect string value:'\xE7\x9A\x84' for column 'address' at row 12017-05-15 15:05:14,257 ERROR[org.hibernate.event.def.AbstractFlushingEventListener] - Could not synchronizedatabase state with sessionorg.hibernate.exception.GenericJDBCException:Could not execute JDBC batch update atorg.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126) at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114) atorg.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) atorg.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:168) atorg.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321) atorg.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:50) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027) at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365) at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137) atorg.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:657) atorg.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:755) atorg.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:724) at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:475) atorg.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:270) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94) atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:91) atorg.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) atorg.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy5.update(Unknown Source) at com.daniel.action.InfoAction.update(InfoAction.java:49) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) atcom.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441) atcom.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280) atcom.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165) atcom.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) atcom.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252) atorg.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) atcom.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) atcom.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) atcom.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) atcom.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) atcom.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) atcom.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) atcom.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) atcom.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179) atcom.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) atorg.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) atorg.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94) atcom.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235) atcom.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89) atcom.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) atcom.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130) atcom.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) atorg.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) atcom.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126) atcom.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138) atcom.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87) atcom.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) atcom.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) atorg.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) atcom.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179) atcom.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) atcom.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176) atcom.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237) atorg.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488) atorg.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) atorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218) atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110) atorg.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) atorg.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445) atorg.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) atorg.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2549) atorg.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2538) atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) atorg.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:744)Caused by: java.sql.BatchUpdateException:Incorrect string value: '\xE7\x9A\x84' for column 'address' at row 1 at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1669) atcom.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1085) atcom.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeBatch(NewProxyPreparedStatement.java:1723) atorg.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70) atorg.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268) ... 90 more
解决思路:
1,Eclipse/MyEclipse 软件改成utf-8:
编辑工具中该项目,更改本项目的页面编码方式为utf-8
2,navicat 编码方式改成utf-8
3,数据库(mysql/oracle/sqlserver)的编码方式:
改成国际统一编码方式utf-8,比如我自己用的是mysql数据库,更改方法如下,打开mysql控制台查看mysql编码当前表daniel 的编码方式“showcreate database daniel”;如果不是utf-8就进行更改,步骤是输入“alter database Daniel default character set utf8”在一次查看表daniel编码方式,步骤显示如下:
4,查看jdbc链接中有设置没有:
jdbcUrl = jdbc:mysql://192.168.21.51:3306/itcastoa0720?characterEncoding=utf8driverClass = com.mysql.jdbc.Driveruser = rootpassword = 1在数据库地址后面添加上“?characterEncoding=utf-8”jdbcUrl = jdbc:mysql://192.168.21.51:3306/itcastoa0720?characterEncoding=utf8?characterEncoding=utf-8driverClass = com.mysql.jdbc.Driveruser = rootpassword = 1
5,如果还是没有成功:
单独的点击开你那字段的表,进行编辑改成utf-8:
结果:
经过上面的一些更改,再一次输入中文字,哈哈,可以了!
总结:
编码,听起来好简单,但是当时一直在查找解决方案,还问了曹学亮同学,农历好几个小时,感谢亮亮同我一起分析,进行思路的引导,最终还是一起分析出来了。
解决方案思路小结:
1,Eclipse/myeclipse开发工具属性改成utf-8
2,navicat 编码方式改成utf-8
3,数据库(mysql/oracle/sqlservice)编码方式改成utf-8
4,在项目jdbc文件中添加“?characterEncoding=utf-8”
5,如果还是没成功,更改Navicat中单独字段为utf-8
一般是这几个地方更改成utf-8之后,成了国际统一编码,系统软件就乖乖的认了,想不显示汉字难了!
- 【java 9】-----Name不能添加中文?
- Eclipse中添加Tomcat不能选择server name
- mysql数据库不能添加中文的解决办法
- ubuntu (16.04) server 英文原版 添加中文语言支持 消除java 程序、mysql 数据库不能处理中文的错误
- 超酷,可惜,貌似中文的音乐电台不能添加
- java加载.property时不能保存中文
- java 连接 mysql 添加中文乱码
- Java添加中文到mysql乱码
- name不能做变量名
- jsp页面中动态添加上传输入项注意的问题:“添加上传文件”按钮的name属性值不能和onclick属性的值相同!!!
- java解压zip文件,处理文件名不能为中文
- Java的String不能处理中文utf-8编码
- Java中文字符串截取,不能返回半个汉字
- Android studio中java控制台不能正常显示中文
- java连接mysql数据库不能显示中文而是出现问号
- 在java工程里的properties文件不能显示中文?
- ckeditor 3.5.3 添加中文命名的flase不能显示该怎么处理?急急急!!!!!!
- py编辑器中添加html页面不能显示中文的问题
- 求字符串中重复字符的最大间隔
- P1 Paper
- Hibernate 之实体表关系设计
- 如何将本地git仓库中的代码上传到github
- Linux中执行shell脚本的4种方法总结
- 【java 9】-----Name不能添加中文?
- apache 虚拟主机
- django中的启动访问
- maya模型展开UV
- mini2440移植printf/scanf函数[转载]
- 收集系统统计信息(无工作负载/工作负载)
- codeforce 804B
- Linux中执行shell脚本的4种方法总结
- shift算法的实现