`

spring+hibernate+struts2应用mysql数据库乱码问题

阅读更多

在spring配置文件里url末尾添加
?characterEncoding=gbk,没有变化。
在struts配置文件里写
<constant name="struts.i18n.encoding" value="UTF-8" />
还是乱码。
最后发现jsp页面里没改过来。
改为<%@ page language="java" pageEncoding="UTF-8"%>
不再乱码,而且去掉spring里写的那一句,也没乱码。
补充:spring中应该用转义字符才行。
<property name="url"
            value="jdbc:mysql://localhost/mysql?useUnicode=true&amp;characterEncoding=gbk"/>
数据库默认latin1,数据库建表默认utf8,连接使用gbk,中文不再乱码。
---相关资料-----------------------------------
       今天用spring+hibernate+struts2写了一个简单的示例程序,使用spring来管理hibernate处理数据,整合了struts2

,用了很长时间的webwork,使用struts2也还算是顺手,显示测试数据很顺利,当开始测试录入数据功能时,录入汉字发生了

问题,录入的汉字全部成了乱码。

     最开始认为是在tomcat中中文传输出现了问题,加入了中文过滤器,但问题没有解决,忽然想到了在struts2的属性文件

中已经设置了编码为gbk:
struts.properties
struts.i18n.encoding=GBK  
struts.objectFactory=spring   
应该不是在传输过程出的问题,在后台输入传入Action和Dao的数据,也全部能正常显示。
然后怀疑是mysql的设置问题,查找设置mysql的数据库编码设置方法,在设置后仍没有解决问题。
直接在mysql中执行Insert into user ('nam') values('汉字'),mysql执行后数据显示正常,说明数据库的编码也正确。
郁闷了,到底问题处在哪里?在执行hibernateTemplate的save()方法之前,没有出现中文乱码问题,在数据库这方面也测试

没有中文乱码问题,只有在hibernate持久化层这里的问题了。
查找持久化层传输数据到数据库服务器出现乱码的问题,终于找到了问题:
hibernate持久化层在传输过程中未设置编码格式,这样在传输数据到数据库服务器后已经是乱码了,在oracle和sqlserver里

没有出现传输乱码问题,所以没有想到会使这里的问题。
修改spring中关于数据源的配置参数:
数据库链接方式:

   jdbc:mysql://localhost:3306/springexample?characterEncoding=utf-8
 
在执行数据录入后,终于中文显示正常了。
在应用hibernate管理mysql数据库是不仅要注意web服务器和数据库的编码问题,同样要注意持久化层数据传输的编码问题。

分享到:
评论

相关推荐

    JavaWeb学生在线选课系统Struts+Hibernate+Spring

    JavaWeb学生在线选课系统,使用了三大框架SSH Struts+Hibernate+Spring 编码格式是UTF-8,打开请注意调一下格式,如果出现乱码,请下载一个高级记事本例如Notepad+++直接打开 .java源文件 复制粘贴即可.内含数据库脚本...

    Struts2+Spring2+Hibernate3整合的例子.rar

    总的来说,"Struts2+Spring2+Hibernate3整合的例子"是一个完整的Java Web开发示例,它展示了如何有效地组合这三个框架,实现MVC模式,解决中文乱码问题,并且通过Spring的管理,增强了代码的可维护性和可测试性。...

    个性化定制系统(Ajax+Spring+Hibernate)(Java EE项目案例)

    ed2k://|file|%E7%B2%BE%E9%80%9AJava.EE%E9%A1%B9%E7%9B%AE%E6%A1%88%E4%BE%8B-%E5%9F%BA%E4%BA%8EEclipse.Spring.Struts.Hibernate%E5%85%89%E7%9B%98%E6%BA%90%E7%A0%81.rar|70436209|475e7c3548acf955e89e378...

    java学生成绩管理系统源码数据库 MySQL源码类型 WebForm

    开发语言:JAVA, 框架:SSH+Mysql+jsp (struts2 + spring + hibernate) 带有Mysql数据库和漂亮的后台管理功能 项目架构 开发环境:1. jdk1.6 2. myeclipse10 3. tomcat6 4. mysql utf-8 使用技术:1. ssh 框架...

    java web hibernate struts spring 全方位解决乱码

    在Java Web开发中,我们经常会遇到各种乱码问题,特别是在使用Hibernate、Struts和Spring等框架时。这些框架处理数据的方式以及与数据库交互的过程都可能导致字符编码不一致,从而引发乱码现象。以下是对这些技术全...

    网上书店系统(Struts+Hibernate)(Java EE项目案例)

    ed2k://|file|%E7%B2%BE%E9%80%9AJava.EE%E9%A1%B9%E7%9B%AE%E6%A1%88%E4%BE%8B-%E5%9F%BA%E4%BA%8EEclipse.Spring.Struts.Hibernate%E5%85%89%E7%9B%98%E6%BA%90%E7%A0%81.rar|70436209|475e7c3548acf955e89e378...

    大学生毕设+基于JavaWeb带GUI界面+花店管理系统(前后端源码+数据库)

    使用框架: spring3.1.1 + hibernate4.1.7 + struts2.3.4 + fileupload 注意事项: 1, 运行项目前请确认db.properties配置文件中的数据库连接参数是否正确 2, 如果打开properties文件出现乱码情况, 将此文件编码设...

    struts-hibernate-sprint开发详解 乱码问题 连接池

    总结来说,SSH框架的集成涉及到数据库连接、Hibernate配置、Spring容器设置、Struts2拦截器配置以及处理乱码和连接池问题。通过这些步骤,开发者可以构建一个完整的Java Web应用程序,实现MVC架构,有效地管理数据...

    java+mysql 乱码

    这里我们将深入探讨如何解决这个问题,主要涉及SSH(Spring、Struts、Hibernate)框架下的设置以及MySQL数据库的相关配置。 首先,我们需要了解Java中的字符编码。Java默认使用UTF-8编码,而MySQL数据库在创建时也...

    spring3.0、struts2.2.3、hibernate3.6.7整合完美jar包

    在IT行业中,SSH(Spring、Struts和Hibernate)是一个经典的Java Web开发框架组合,用于构建高效、可维护的Web应用程序。下面将详细讲解这三个框架的整合过程,以及如何解决jar包冲突和MySQL乱码问题。 首先,...

    mysql+jsp+SSH网站开发中文乱码解决方案

    在进行MySQL、JSP以及SSH(Struts、Spring、Hibernate)框架集成的网站开发时,中文乱码问题是一个常见的困扰。这通常是由于编码格式不一致、设置不当或处理方式错误导致的。以下是一些关键的知识点,可以帮助你解决...

    ssh(structs,spring,hibernate)框架中的上传下载

     以上是Spring+Hibernate将文件二进制数据持久化到数据库的解决方案,而Struts通过将表单中file类型的组件映射为ActionForm中类型为org.apache.struts.upload. FormFile的属性来获取表单提交的文件数据。  工程...

    s2shmysql乱码问题

    在使用Struts2+Spring+Hibernate(简称S2SH)框架结合MySQL数据库进行Web应用开发的过程中,经常会出现字符编码不一致导致的乱码问题。这类问题不仅影响用户体验,还可能导致数据处理错误。本文将详细介绍S2SH+MySQL...

    sshz中文乱码解决方法

    对于基于SSH(Spring+Struts2+Hibernate)框架的Web应用来说,解决中文乱码通常需要从多个层面入手。 ##### 2.1 配置Struts2的国际化编码 可以在`struts.xml`文件中添加如下配置来设置应用默认使用的编码格式: `...

    Java+MyEclipse+Tomcat (六)详解Servlet和DAO数据库增删改查操作1

    此外,也没有涉及流行的Java Web开发框架,如Struts、Hibernate和Spring,这些框架能够简化数据库操作和业务逻辑的实现。不过,对于初学者来说,这个基础已经足够理解基本的JSP网站开发流程和数据库操作。通过这个...

    手把手练习SSH实例

    SSH(Spring + Struts + Hibernate)是一个经典的Java企业级应用开发框架组合,它结合了Spring的依赖注入(DI)和面向切面编程(AOP),Struts的MVC设计模式,以及Hibernate的对象关系映射(ORM)工具。在这个实例中...

    《MyEclipse 6 Java 开发中文教程》前10章

    第一章 安装配置开发环境 18 1.1系统需求 18 1.2 JDK 的下载,安装和配置(可...10.7.2 MyEclipse生成的Spring+Hibernate无法保存数据问题的解决方法2 - 用 CGLIB 来实现事务管理 258 10.7.3 Spring相关的参考资料 261

    SSH+mysql开发字符集问题

    本文将详细介绍如何在MySQL数据库及SSH框架中正确设置字符集,以解决中文字符乱码问题。 #### 二、数据库层面的字符集配置 在MySQL中,字符集的设置非常关键。不同的字符集会影响数据的存储和显示。下面将详细介绍...

    乱码处理操作类

    "乱码处理操作类"指的是为了正确显示或处理文本而设计的特定代码类,通常用于解决Java SSH(Spring、Struts、Hibernate)框架下的乱码问题。SSH是一个流行的Java企业级开发框架,它为构建Web应用程序提供了强大的...

    公告管理系统(JSP+Struts)(Java EE项目案例)

    ed2k://|file|%E7%B2%BE%E9%80%9AJava.EE%E9%A1%B9%E7%9B%AE%E6%A1%88%E4%BE%8B-%E5%9F%BA%E4%BA%8EEclipse.Spring.Struts.Hibernate%E5%85%89%E7%9B%98%E6%BA%90%E7%A0%81.rar|70436209|475e7c3548acf955e89e378...

Global site tag (gtag.js) - Google Analytics