首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

Servlet从jsp页面读取数据乱码,该怎么解决

2012-08-03 
Servlet从jsp页面读取数据乱码在Servlet里面从jsp表单里读取数据,结果读出来的中文全是乱码。在jsp里面的编

Servlet从jsp页面读取数据乱码
在Servlet里面从jsp表单里读取数据,结果读出来的中文全是乱码。

在jsp里面的编码设置时<%@page pageEncoding="utf-8" contentType="text/html; charset=utf-8"%>

在Servlet里面也对编码设置了 request response 都有设置成utf-8

中间的传参是 function autoComplete() {
var xhr = new XMLHttpRequest();
var url='auto?item='+document.getElementById('content').value;
请大虾指教一下

[解决办法]
加上
<meta http-equiv="content-type" content="text/html; charset=utf-8">
试试看

以及加上一个EncodingFilter试试看
public class CharacterEncodingFilter implements Filter {
[解决办法]
可以先设置一下
request.setCharacterEncoding("gb2312");
或者utf-8
然后再获取.
[解决办法]
楼主的问题我也遇到过 。有很多答案 。
1 :tomcat 下的server.xml 
 <Connector port="8080" protocol="HTTP/1.1" 
connectionTimeout="20000" URIEncoding="UTF-8"
redirectPort="8443" />
2:其次就是页面了 :
<%@ page contentType="text/html; charset=utf-8" language="java" import="java.util.*" errorPage="" %>

3:你可以自己传值时debud调试下
[解决办法]
再看看你是不是用Get方法提交的,若是的,改成post试试……
[解决办法]

探讨
楼主你是Ajax传的中文吧?
js这样写,比如传中文张三

JScript code

var a=encodeURI(encodeURI('张三'));
xmlhttp.open("get", "/Text/test.do?x=test&amp;aa=" + a, true);


servlet这样接受

Java code

String name = URLDec……

[解决办法]
有时候是浏览器的问题。解决的问题有很多。
例如:
1.#4所说的那样。
2.加一个过滤器。
Java code
/** *  */package com.wycong.epet.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;public class CharsetFilter implements Filter {//建一个类实现接口Filter     public void destroy() {        // TODO Auto-generated method stub    }    public void doFilter(ServletRequest request, ServletResponse response,            FilterChain filter) throws IOException, ServletException {        request.setCharacterEncoding("gbk");        response.setCharacterEncoding("gbk");        response.setContentType("text/html;charset=gbk");        filter.doFilter(request, response);    }        public void init(FilterConfig arg0) throws ServletException {        // TODO Auto-generated method stub    }} 

热点排行