在线等!关于jsp页面表单中文数据提交到后台出现乱码问题!

来源:百度知道 编辑:UC知道 时间:2024/05/29 08:13:15
我是一个新手,最近在tomcat6.0+MyEclipse6.5+MSSQL2000下开发一个网站,可是不知道为什么form表单提交的中文数据出现乱码(我是在MyEclipse控制台下看到提交的数据是乱码的)。当然保存到数据库中也变成了乱码。项目统一采用UTF-8编码。各位大侠帮我看一下到底出了什么问题:
这是我的JSP文件头:
<%@ page contentType="text/html; charset=UTF-8" language="java"
import="java.util.*" pageEncoding="UTF-8" errorPage=""%>
<meta http-equiv="Content-Type" content="text/html; charset="UTF-8" />均设置了UTF-8编码。
同时我还写了一个过滤器:SetCharacterEncodingFilter
package d8city.jskr.EncodingFilter;
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;

public class SetCharacterEncodingFilter implements Filter {
protected String encoding = null;
protected FilterConfig filterConfig = nul

这种问题。我也碰到了。。按网上的方法一直没解决掉。。没办法。就做了个最土的方法解决。

你的set方法这里加上强制编码格式如
private void setName(String name){
this.name=new String(name.getBytes("ISO8859-1"),"GBK");
}

get方式乱码还是post乱码?post乱码可以使用过滤器解决,get方式一般要进行URLEncode,或者改tomcat配置。
<Connector
port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="GBK" />

我觉得是查看工具的编码问题

Eclipse上面点击window-->preferences-》General下的第四个Content Types
点击要改的文件类型,下面Default encoding修改对应的编码