Java Web 开发中乱码问题的处理
2010-09-09 09:36
423 查看
(1)通用处理方案
接收客户端数据时,数据乱码处理措施如下:
Code:
// (1)以GET方式发送的数据,接收时应做以下处理:
String temp=new String(request.getParameter("ISO-8859-1"),"GBK");
// (2)以POST方式发送的数据,接收时应做以下处理:
request.getParameter("GBK");
将处理后的数据返回给客户端时,数据乱码处理措施如下:
Code:
//将服务器端处理后的数据返回给客户端时,避免乱码应采用如下措施
// 首先,应统一页面的编码格式
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=utf-8"%>
//其次,应对从服务器端返回的数据进行处理:
response.setContentType("text/html;charset=GBK");
(2)过滤器处理乱码问题
Code:
import javax.servlet.*;
import java.io.IOException;
/**
* 用于设置 HTTP 请求字符编码的过滤器,通过过滤器参数encoding指明使用何种字符编码,用于处理Html Form请求参数的中文问题
*/
public class CharacterEncodingFilter
implements Filter
{
protected FilterConfig filterConfig = null;
protected String encoding = "";
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletExceptio{
if(encoding != null)
servletRequest.setCharacterEncoding(encoding);
filterChain.doFilter(servletRequest, servletResponse);
}
public void destroy(){
filterConfig = null;
encoding =null;
}
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
this.encoding = filterConfig.getInitParameter("encoding");
}
}
web.xml配置如下:
Code:
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
接收客户端数据时,数据乱码处理措施如下:
Code:
// (1)以GET方式发送的数据,接收时应做以下处理:
String temp=new String(request.getParameter("ISO-8859-1"),"GBK");
// (2)以POST方式发送的数据,接收时应做以下处理:
request.getParameter("GBK");
将处理后的数据返回给客户端时,数据乱码处理措施如下:
Code:
//将服务器端处理后的数据返回给客户端时,避免乱码应采用如下措施
// 首先,应统一页面的编码格式
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=utf-8"%>
//其次,应对从服务器端返回的数据进行处理:
response.setContentType("text/html;charset=GBK");
(2)过滤器处理乱码问题
Code:
import javax.servlet.*;
import java.io.IOException;
/**
* 用于设置 HTTP 请求字符编码的过滤器,通过过滤器参数encoding指明使用何种字符编码,用于处理Html Form请求参数的中文问题
*/
public class CharacterEncodingFilter
implements Filter
{
protected FilterConfig filterConfig = null;
protected String encoding = "";
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletExceptio{
if(encoding != null)
servletRequest.setCharacterEncoding(encoding);
filterChain.doFilter(servletRequest, servletResponse);
}
public void destroy(){
filterConfig = null;
encoding =null;
}
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = filterConfig;
this.encoding = filterConfig.getInitParameter("encoding");
}
}
web.xml配置如下:
Code:
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
相关文章推荐
- 关于java web开发中乱码问题的解决思路
- java web开发中常见的乱码问题
- Java Web开发中文乱码问题
- JAVA web 开发中URL链接中文参数乱码问题
- JAVA WEB开发乱码问题合集
- javaweb开发中文乱码问题
- javaweb开发中的中文乱码问题,使用Filter过滤器解决
- java web开发时表单提交引起的一些中文乱码问题
- 处理JAVAWEB中乱码的问题
- Java WEB开发中的中文乱码问题解决之终极之道
- Java web开发中使用get提交表单时的中文乱码问题
- java web开发 高并发问题处理【总结】
- javaweb-图片的下载实现及分别处理浏览器乱码问题
- Java Web开发乱码问题
- 深入 Java Web 开发中的乱码问题
- JAVA WEB开发中处理乱码汇总
- 关于Java web开发中的中文乱码问题
- 浅谈java web开发中的乱码问题的解决
- java web开发乱码问题解决方案(一)
- 关于处理JavaWeb中Servlet中返回jsp乱码问题