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

我是一个新手,最近在tomcat6.0+MyEclipse6.5+MSSQL2000下开发一个网站,可是不知道为什么form表单提交的中文数据出现乱码(我是在MyEcli... 我是一个新手,最近在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 = null;
protected boolean ignore = true;

public void destroy() {
this.encoding = null;
this.filterConfig = null;
}

public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if (ignore || (request.getCharacterEncoding() == null)) {
String encoding = selectEncoding(request);
if (encoding != null) {
request.setCharacterEncoding(encoding);
}
}
chain.doFilter(request, response);
}

public void init(FilterConfig filterConfig) throws ServletException {

this.filterConfig = filterConfig;
this.encoding = filterConfig.getInitParameter("encoding");
String value = filterConfig.getInitParameter("ignore");
if (value == null) {
this.ignore = true;
} else if (value.equalsIgnoreCase("true")) {
this.ignore = true;
} else if (value.equalsIgnoreCase("yes")) {
this.ignore = true;
} else {
this.ignore = false;
}
}

protected String selectEncoding(ServletRequest request) {
return (this.encoding);
}

}
web.xml下面也进行了相关配置:
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>
d8city.jskr.EncodingFilter.SetCharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>ignore</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
是不是我还有什么没有进行配置,提交的中文数据总是出现乱码。谢谢各位了,这问题已经缠了我几天了,
同时,我吧页面的编码全部改成gb2312后提交的数据便是中文。这是为什么。
展开
 我来答
百度网友ef10e91
2009-10-30 · TA获得超过1822个赞
知道大有可为答主
回答量:1223
采纳率:50%
帮助的人:1334万
展开全部
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" />
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友dc81944bb
2009-10-30 · TA获得超过572个赞
知道小有建树答主
回答量:793
采纳率:0%
帮助的人:743万
展开全部
这种问题。我也碰到了。。按网上的方法一直没解决掉。。没办法。就做了个最土的方法解决。

你的set方法这里加上强制编码格式如
private void setName(String name){
this.name=new String(name.getBytes("ISO8859-1"),"GBK");
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
歧臻0iR
2009-10-30
知道答主
回答量:37
采纳率:0%
帮助的人:13.2万
展开全部
Eclipse上面点击window-->preferences-》General下的第四个Content Types
点击要改的文件类型,下面Default encoding修改对应的编码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhukaiheihei
2009-10-30 · TA获得超过607个赞
知道小有建树答主
回答量:3497
采纳率:0%
帮助的人:1181万
展开全部
我觉得是查看工具的编码问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式