1 借助spring
web.xml中增加
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
配置文件即可,如果不用spring怎么办呢?有办法啊
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>com.rda.commons.filter.ChineseFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
配置文件,然后呢,转码的过滤器就要自己写咯
package com.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;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* 创建人:金鑫
* 创建时间:2008-9-21 下午03:27:03
* 类作用:中文转码过滤器
*
*/
@SuppressWarnings("serial")
public class ChineseFilter extends HttpServlet implements Filter
{
private FilterConfig filterConfig;
public void init(FilterConfig filterConfig) throws ServletException
{
this.filterConfig = filterConfig;
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
{
try
{
String encoding = filterConfig.getInitParameter("encoding");
//从WEB.xml配置文件中取出参数,这样我们可以通过配置修改编码格式.
request.setCharacterEncoding(encoding);//设置请求的编码格式
filterChain.doFilter(request, response);
}
catch (ServletException sx)
{
filterConfig.getServletContext().log(sx.getMessage());
}
catch (IOException iox)
{
filterConfig.getServletContext().log(iox.getMessage());
}
}
public void destroy()
{
}
protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException
{
super.doGet(arg0, arg1);
}
protected void doPost(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException
{
super.doPost(arg0, arg1);
}
/**
* @function 验证数据是否为空,如果为空则转换
* @param param
* @return String
*/
public String checkNull(String param)
{
if (param == null || param.equals(""))
{
return "";
}
else
{
return param;
}
}
}
OK,完美解决掉啦。
其实解决乱码很简单的,就是通过过滤器来实现的,呵呵很简单吧?
分享到:
相关推荐
本资源我重新整理,用unicode完美解决中文乱码问题。用法: 1.声明实例 IniFile iniFile = new IniFile(HttpContext.Current.Server.MapPath("~/App_Data/LocalData.ini")); 2.存数据 iniFile.WriteValue...
由于之前的版本只适合服务器名为英文,不能很好的识别中文,经本人多方查找资料,将源码作了少量的修改,故已经使此版本支持中文。写库时只需要保证mysql的编码格式为utf8格式便可,此版本只对mysql的支持作了更改。...
今天主要分享开源框架Struts2文件上传实例过程,并且笔者将带着大家解决出现的一系列乱码问题,本文章中的重要部分将用特殊颜色标识,斜体表示不确定内容。笔者建议读者先快速阅读一遍本文,下载应具备的工具,再...
完美解决source 3.5中文乱码 4.0的请移步 完美解决source 3.5中文乱码
解决mysql乱码问题。主要是数据库查询出数据中文为问号???的问题。
开发中前台页面向后台传参,汉字乱码,看了好多网上的方法都解决不了,所以写了一个工具类,判断是乱码就转换,不乱码就不乱换,汉字字母符号自动判断。最后完美解决汉字乱码问题。
PHP乱码或者mysql乱码,多半是因为没有统一编码,要解决PHP/mysql乱码,只要做到三码合一即可. 所谓三码,是指文件编码,页面编码声明和数据库字符集,要使用相同的编码,如全部为utf-8. 怎么做到三码合一?下面以utf-8为例,...
针对于初学者,php开发中的中文乱码问题解决方案;解决完美PHP中文乱码问题!
亲测,完美注册正版,解决中文乱码问题。内含txt详细说明。
source insight 3.5原始版本中文显示为乱码,通过本资源可免费将原来source insight升级为加强版,实现中文的正确显示,同时界面更为友好。
里面详细介绍了php中中文乱码的问题,几种情况全解决了
能够完美解决SmartUpload上传中文乱码的jar包,欢迎大家下载,解压之后加入工程buildpath即可
Mysql中文乱码问题完美解决方案
Android客户端发送请求中文乱码问题完美解决 Android客户端发送请求中文乱码问题是指在Android客户端向服务器端提交请求时出现的中文乱码问题,这是由于在HTTP请求中,中文字符被编码为乱码字符所致。为了解决这个...
完美解决Python下matplotlib绘图中文乱码问题.docx
最近做了jsp项目,要用到上传和下载,从网上下了一个smartupload项目文件,封成jar包之后使用发现会出现中文乱码问题,后来网上一查,发现出现这个问题的人还真多,很多博客里面只是说明了如何解决,并没有具体实现...
Mysql中文乱码问题完美解决方案.docx
可以完美的帮你解决windows下mysql的乱码问题,保证数据库数据不被乱码侵蚀