`

Hibernate+mysql乱码问题终极解决方案

阅读更多

1, mysql安装时设置字符集utf-8(包括数据库字符集,以及表的字符集), jdbc驱动用最新的
2. hibernate配置文件(hibernate.cfg.xml)中,加上属性
<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">UTF-8</property>

3. web.xml设置Filter
=================================================
<filter>
  <filter-name>
   Set Web Application Character Encoding
  </filter-name>
  <filter-class>com.util.SetEncodeFilter</filter-class>
  <init-param>
   <param-name>defaultencoding</param-name>
   <param-value>UTF-8</param-value>
  </init-param>
 </filter>
 <filter-mapping>
  <filter-name>
   Set Web Application Character Encoding
  </filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>

=============================================
SetEncodeFilter.java

 

 1package com.util;
 2
 3import java.io.IOException;
 4
 5import javax.servlet.Filter;
 6import javax.servlet.FilterChain;
 7import javax.servlet.FilterConfig;
 8import javax.servlet.ServletException;
 9import javax.servlet.ServletRequest;
10import javax.servlet.ServletResponse;
11
12public class SetEncodeFilter implements Filter {
13    
14    protected FilterConfig filterConfig = null;
15
16    protected String defaultEncoding = null;
17
18    /** *//**//* (non-Javadoc)
19     * @see javax.servlet.Filter#init(javax.servlet.FilterConfig)
20     */
21    public void init(FilterConfig arg0) throws ServletException {
22        // TODO Auto-generated method stub
23        this.filterConfig = arg0;
24        this.defaultEncoding = filterConfig.getInitParameter("defaultencoding");
25    }
26
27    /** *//**//* (non-Javadoc)
28     * @see javax.servlet.Filter#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)
29     */
30    public void doFilter(
31        ServletRequest request,
32        ServletResponse response,
33        FilterChain chain)
34        throws IOException, ServletException {
35        // TODO Auto-generated method stub
36        request.setCharacterEncoding(selectEncoding(request));
37        chain.doFilter(request, response);
38    }
39
40
41    public void destroy() {
42        
43        this.defaultEncoding = null;
44        this.filterConfig = null;
45    }
46
47
48    protected String selectEncoding(ServletRequest request) {
49
50        return this.defaultEncoding;
51    }
52
53}
4.提交表单的jsp页面设置
<%@ page language="java"  contentType="text/html; charset=UTF-8"%>

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cdredfox/archive/2006/09/18/1236347.aspx

分享到:
评论

相关推荐

    hibernate+mysql乱码问题

    本文将深入探讨“hibernate+mysql乱码问题”的原因、解决方案以及如何预防这类问题。 首先,我们需要了解乱码问题的根源。在数据库层面,MySQL的编码格式对数据存储和检索至关重要。如果数据库、表或列的字符集不...

    jsp+JavaScript+struts+hibernate+css+mysql的网上书店

    【标题】"jsp+JavaScript+struts+hibernate+css+mysql的网上书店"是一个基于Java技术栈的Web应用程序示例,它整合了多种技术来实现一个完整的网上书店系统。这个项目涉及到的主要技术包括: 1. **JSP(JavaServer ...

    springboot+hibernate+mysql简单例子

    简单的springboot的学习项目实例,使用了hibernate连接mysql数据库,进行简单的插入和查询操作,项目中已经包含依赖的jar包和数据库脚本,只需要创建配置的数据库并使用数据库脚本建立表即可。

    struts2+hibernate+mysql实现注册登录

    在这个项目中,“struts2+hibernate+mysql实现注册登录”是一个基础的实战教程,旨在帮助新手理解如何在实际应用中整合这三个技术。 **Struts2** 是一个强大的MVC框架,它负责处理HTTP请求,控制应用程序的流程,并...

    基于Struts2+Spring+Hibernate+MySql的注册登录系统.zip

    总的来说,基于Struts2+Spring+Hibernate+MySql的注册登录系统是利用这些技术协同工作,实现了用户注册、登录的基本功能。Struts2处理请求,Spring管理组件和事务,Hibernate负责数据持久化,而MySql存储数据。...

    Struts2+Spring+Hibernate+Jsp+Mysql5 项目申报系统.zip

    Struts2+Spring+Hibernate+JSP+MySQL5是一个经典的Java Web开发框架组合,也被称为SSH框架。这个项目申报系统是基于这些技术构建的,它提供了高效、灵活且可扩展的后端架构来处理复杂的业务逻辑和数据管理。以下是...

    纯净的spring+hibernate+mysql

    【纯净的Spring+Hibernate+MySQL】项目是一个典型的Java Web应用示例,它将Spring MVC、Hibernate ORM框架与MySQL数据库相结合,以实现用户登录、注册等基础功能。在本项目中,Spring MVC作为控制层,负责处理HTTP...

    struts2+hibernate+Mysql开发图书管理系统

    总的来说,"Struts2+Hibernate+MySQL"组合提供了一种强大的Java Web开发解决方案,适用于各种规模的项目。通过这个图书管理系统,我们可以深入理解这些技术的原理和应用,为今后的Web开发积累宝贵经验。

    Struts+Hibernate+MyEclipse+Tomcat+MySQL的乱码之解决篇

    在本篇文章中,我们将深入探讨如何解决Struts + Hibernate + MyEclipse + Tomcat + MySQL环境中出现的乱码问题。该问题通常出现在处理中文字符时,由于编码设置不当导致中文显示为乱码或无法正常读取。为了确保系统...

    Spring+Jersey+Hibernate+MySQL+HTML实现用户信息CRUD案例源码

    本案例主要展示了如何使用Spring、Jersey、Hibernate和MySQL这些技术来实现一个完整的用户信息管理系统的后端逻辑,并结合HTML进行前端展示,实现用户信息的创建(Create)、读取(Read)、更新(Update)和删除...

    springMVC+hibernate+mysql

    综上所述,"springMVC+hibernate+mysql"的组合是Java Web开发的标准配置,涵盖了从前端请求处理、数据库操作到实时通信的各个方面。使用这些技术,开发者可以构建出功能强大、性能优秀的Web应用。Zhsngq这个文件可能...

    Struts2 + Hibernate + mysql

    不过,随着Spring Boot和Spring Framework的普及,现代的Java Web开发更多倾向于使用Spring Boot + Spring Data JPA(或MyBatis)+ MySQL的组合,因为Spring提供的全套解决方案更加灵活和强大。然而,理解并掌握...

    Extjs + Spring MVC + hibernate + mysql

    标题 "Extjs + Spring MVC + hibernate + mysql" 涉及的是一个综合性的Web应用程序开发框架,结合了前端UI库、后端MVC框架、ORM工具和关系型数据库。让我们详细了解一下这些技术及其在实际项目中的应用。 1. ExtJS...

    struts+hibernate+mysql做的增删改查小例子

    在这个"struts+hibernate+mysql做的增删改查小例子"中,我们将深入探讨这三个技术如何协同工作来实现数据的CRUD(Create、Read、Update、Delete)操作。 首先,Struts是一个基于MVC设计模式的Java框架,它主要用于...

    struts+hibernate+mysql登录验证程序

    在“struts+hibernate+mysql登录验证程序”这个项目中,开发者通过整合这些技术创建了一个简单的登录验证系统,旨在为初学者提供实践和学习的机会。 **Struts框架**: Struts是一个开源的MVC(Model-View-...

    springmvc+spring+hibernate+mysql+maven

    标题 "springmvc+spring+hibernate+mysql+maven" 描述的是一个经典的Java Web开发技术栈,通常称为SSH(Spring、Struts、Hibernate)框架的现代化变体,因为Struts已被Spring MVC取代。SSH是一个流行的企业级应用...

    Flex+Spring+hibernate+mySql整合的一个登陆程序

    标题中的“Flex+Spring+Hibernate+MySQL整合的一个登陆程序”是指使用这四个技术栈构建的登录应用程序。这个项目结合了前端的Flex(一种基于ActionScript和Flash的RIA开发框架)与后端的Spring(一个全面的Java应用...

    ssh项目spring+stuts+hibernate+sql server 中文乱码解决方案_lj管用.txt

    ssh spring+stuts+hibernate+sql server 中文乱码解决方案_lj管用.txt

    SpringMVC+Hibernate +MySql+ EasyUI实现CRUD

    在"SpringMVC+Hibernate +MySql+ EasyUI实现CRUD"的项目中,开发流程大致如下: 1. **数据库设计**:首先,你需要使用MySql创建数据库和对应的表结构,定义好各字段类型和约束。 2. **实体类创建**:基于数据库表...

    不错的适合练手、课设、毕设的JSP源码:项目申报系统(Struts2+Spring+Hibernate+Jsp+Mysql5)

    不错的适合练手、课设、毕设的JSP源码:项目申报系统(Struts2+Spring+Hibernate+Jsp+Mysql5)不错的适合练手、课设、毕设的JSP源码:项目申报系统(Struts2+Spring+Hibernate+Jsp+Mysql5)不错的适合练手、课设、毕设的...

Global site tag (gtag.js) - Google Analytics