乱码,怎么破

用纯Servlet:

在Server端要如此接收中文参数:new String(request.getParameter("name").getBytes("ISO8859-1"),"UTF-8")

如何解决仅用request.getParameter("name")就可以正确接收

楼上正解,不过因为是纯servlet,估计也没用spring,不过好在spring开源,可以下载源码,把这个filter类单独拿出来用,就ok了。

在web.xml中添加个Filter转码

[code="xml"]

Set Character Encoding
org.springframework.web.filter.CharacterEncodingFilter

encoding
utf-8



Set Character Encoding
/*

[/code]

应二楼要求,贴spring的源码出来。
[code="java"]

package org.springframework.web.filter;

import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class CharacterEncodingFilter extends OncePerRequestFilter {

private String encoding;

private boolean forceEncoding = false;



public void setEncoding(String encoding) {
    this.encoding = encoding;
}


public void setForceEncoding(boolean forceEncoding) {
    this.forceEncoding = forceEncoding;
}


@Override
protected void doFilterInternal(
        HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
        throws ServletException, IOException {

    if (this.encoding != null && (this.forceEncoding || request.getCharacterEncoding() == null)) {
        request.setCharacterEncoding(this.encoding);
        if (this.forceEncoding) {
            response.setCharacterEncoding(this.encoding);
        }
    }
    filterChain.doFilter(request, response);
}

}
[/code]

情况一 action method="get";中文就会乱码;你把method="post"

用servlet自己写一个过滤器。就行了1

写过滤器 可破