`
digiter
  • 浏览: 120517 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts2, Tomcat6, MySQL5.1乱码问题解决

阅读更多
MySQL数据库,和Eclipse中的所有设置字符编码的地方都设置成UTF-8
然后利用MySQL的设置向导重新设置MySQL的默认编码也是UTF-8即可

Struts2,或者说JSP的表单乱码,分为get和post方法

get方法
在tomcat的conf\server.xml中第一个Connector中加入属性URIEncoding="UTF-8"

post方法
添加一个CharacterEncodingFilter拦截器
/*
  $Id$

  Copyright (C) 2003-2009 Virginia Tech.
  All rights reserved.

  SEE LICENSE FOR MORE INFORMATION

  Author:  Middleware Services
  Email:   middleware@vt.edu
  Version: $Revision$
  Updated: $Date$
 */
package servlet.filter;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

/**
 * Sets the request and/or response character encoding based on the presence of
 * either or both of the following init params, {@link #REQUEST_CHARSET_NAME}
 * {@link #RESPONSE_CHARSET_NAME}.
 * 
 * <p>
 * <strong>NOTE:</strong> this filter should be as close to the beginning of the
 * filter chain as possible. Any filters that obtain request parameters, e.g.
 * <code>request.getParameter(...)</code>, prior to setting the character set
 * via this filter will use the platform default character set.
 * </p>
 * 
 * @author Middleware Services
 * @version $Revision$
 */
public class CharacterEncodingFilter implements Filter {

	/**
	 * Name of init param for setting request character encoding. The value
	 * should be a valid Java character set name, e.g. UTF-8.
	 */
	public static final String REQUEST_CHARSET_NAME = "requestCharsetName";

	/**
	 * Name of init param for setting response character encoding. The value
	 * should be a valid Java character set name, e.g. UTF-8.
	 */
	public static final String RESPONSE_CHARSET_NAME = "responseCharsetName";

	/** Request character set name. */
	private String requestCharsetName;

	/** Response character set name. */
	private String responseCharsetName;

	/** {@inheritDoc}. */
	public void init(final FilterConfig filterConfig) throws ServletException {
		if (filterConfig.getInitParameter(REQUEST_CHARSET_NAME) != null) {
			requestCharsetName = filterConfig.getInitParameter(REQUEST_CHARSET_NAME);
		}
		if (filterConfig.getInitParameter(RESPONSE_CHARSET_NAME) != null) {
			responseCharsetName = filterConfig.getInitParameter(RESPONSE_CHARSET_NAME);
		}
	}

	/** {@inheritDoc}. */
	public void doFilter(final ServletRequest request,
			final ServletResponse response, final FilterChain chain)
			throws IOException, ServletException {
		if (requestCharsetName != null) {
			request.setCharacterEncoding(requestCharsetName);
		}
		if (responseCharsetName != null) {
			response.setCharacterEncoding(responseCharsetName);
		}
		chain.doFilter(request, response);
	}

	/** {@inheritDoc}. */
	public void destroy() {
	}
}

然后在web.xml里加入(加在其他拦截器前面)
	<filter>
		<filter-name>CharacterEncodingFilter</filter-name>
		<filter-class>servlet.filter.CharacterEncodingFilter</filter-class>
		<init-param>
			<param-name>requestCharsetName</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
		<init-param>
			<param-name>responseCharsetName</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>CharacterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

即可
0
0
分享到:
评论

相关推荐

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

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

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

    总之,要解决Struts+Hibernate+MyEclipse+Tomcat+MySQL环境中的乱码问题,你需要检查并设置以上提到的所有环节的编码,确保它们统一为UTF-8。通过这种方法,可以有效地避免乱码的出现,从而提供良好的用户体验。在...

    struts1.3+MYSQL5.1小例子

    这个"struts1.3+MYSQL5.1小例子"是一个实际的应用场景,通过整合Struts1.3和MySQL5.1数据库,展示了如何将数据从数据库提取并呈现在JSP页面上。 **Struts1.3核心组件** 1. **Action类**: Struts中的核心业务逻辑...

    struts中文乱码问题解决详细步骤

    解决这个问题通常涉及到编码设置的调整,下面将详细介绍两种方法来解决Struts中的中文乱码问题。 **方法一:配置Filter** 1. **添加过滤器**:首先,我们需要在Web应用的`web.xml`文件中添加一个`...

    如何解决struts2中烦人乱码

    在struts2中解决页面中出现的乱码问题,写在web.xml中

    struts 2. 5.2解决中文乱码

    如果没有使用Spring框架,可以考虑使用`org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter`,并在其中设置字符编码。 3. **Struts 2配置**:在Struts 2的配置文件`struts.xml`中,可以全局...

    Struts2乱码终极解决办法

    本文将详细介绍如何彻底解决Struts2中的乱码问题,并提供实际可行的解决方案。 #### 二、乱码产生的原因 在Struts2框架中,中文乱码主要由以下几个方面的原因造成: 1. **请求编码问题**:客户端发送请求时未指定...

    struts2+tomcat+mysql实现web聊天室

    在本文中,我们将深入探讨如何使用Struts2、Tomcat和MySQL来实现一个Web聊天室。这个项目的主要功能包括用户登录注册、错误检测、主题创建与显示、在线人数统计以及实时聊天。 首先,Struts2是一个基于MVC(模型-...

    Struts2中文乱码问题最终解决方案

    在Struts2的各个版本和不同过滤器设置下,GET方式提交的中文乱码问题仍然存在。一种可行的解决方案是在Tomcat服务器的配置文件`server.xml`中,修改`&lt;Connector&gt;`标签,添加`URIEncoding="UTF-8"`属性。这将强制...

    struts2的中文乱码问题解决

    ### Struts2中文乱码问题解决方案 在使用Struts2框架进行Web开发的过程中,中文乱码问题是一个常见的挑战。这不仅影响用户体验,还可能导致数据不一致等问题。为了解决这一问题,我们需要理解其背后的原理,并采取...

    welogic struts2文件下载中文件名乱码:在tomcat中是好的哦

    本文将深入探讨在WeLogic服务器中使用Struts2框架进行文件下载时遇到的文件名乱码问题,并提供详细的解决方案。 ### 文件名乱码现象分析 在WeLogic服务器中使用Struts2进行文件下载时,用户可能会遇到文件名显示为...

    Mysql中文乱码问题解决

    ### MySQL中文乱码问题解决方案 在使用MySQL的过程中,中文乱码问题是经常遇到的一个难题,它不仅影响数据的正确性,还可能对整个系统的稳定性和用户体验造成负面影响。本文将详细介绍如何解决MySQL中的中文乱码...

    奇怪的struts2的中文乱码问题及解决.docx

    本文将深入探讨一个关于Struts2在Internet Explorer(IE)浏览器中出现中文乱码的奇怪问题及其解决方案。 首先,中文乱码问题通常涉及到几个关键因素:数据库编码、开发文件编码和网页的Content-Type编码。在确保这...

    Struts框架下Ajax发送中文乱码问题的解决

    此外,对于Struts2框架,我们还需要检查Action类的注解`@Action`,确保其`params`属性指定了正确的编码: ```java @Action(value = "myAction", params = {"contentType=text/html;charset=UTF-8"}) public String ...

    struts2配置文件传值中文乱码

    本文将围绕“Struts2配置文件传值中文乱码”这一主题,深入探讨其成因、解决方案以及相关的配置细节,旨在帮助开发者有效解决中文乱码问题,提升用户体验。 ### Struts2框架简介 Struts2是Apache组织下的一个开源...

    struts2和tomcat使用

    Struts2和Tomcat是Java Web开发中两个关键的组件,它们共同构成了Web应用程序的基础架构。Struts2是一个基于MVC(Model-View-Controller)设计模式的开源框架,主要用于构建企业级的Java Web应用,而Tomcat则是一个...

    struts2拦截器解决请求乱码和输出乱码.txt

    struts2 拦截器 解决 请求乱码 和 输出乱码 java

    struts2获取参数,解决乱码,跳转

    在这个主题中,我们将深入探讨Struts2如何获取参数、解决乱码问题以及实现页面跳转。 首先,让我们来看看Struts2如何获取HTTP请求中的参数。在Struts2中,我们可以使用Action类来接收和处理请求参数。Action类是...

    Struts2资源文件在jsp页面中显示乱码解决

    然而,在国际化(I18N)的应用场景下,Struts2资源文件在JSP页面中显示乱码的问题常常困扰着开发者。本文将深入探讨这一问题,并详细介绍两种有效的解决方案。 ### Struts2资源文件与乱码问题 Struts2框架通过资源...

    struts下的汉字乱码问题

    总结来说,解决Struts下的汉字乱码问题,需要从页面、过滤器、服务器配置和Struts核心Servlet等多方面进行设置,确保在整个请求生命周期中,中文字符始终以正确的编码进行处理。这不仅涉及了前端的展示,还涉及到...

Global site tag (gtag.js) - Google Analytics