javaweb表单提交中文乱码问题?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaweb表单提交中文乱码问题?相关的知识,希望对你有一定的参考价值。

本人初学java web,现在遇到如下问题:提交表单数据给jsp显示,出现乱码问题,请教下怎么解决这个问题,下面是部分代码截图servlet:

jsp:

在web.xml中加入如下配置一个Filter,


EncodingFilter.java

package com.sam.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;

/**
 * Servlet Filter implementation class EncodingFilter
 */
public class EncodingFilter implements Filter 

    /**
     * Default constructor. 
     */
    public EncodingFilter() 
        // TODO Auto-generated constructor stub
    

/**
 * @see Filter#destroy()
 */
public void destroy() 
// TODO Auto-generated method stub


/**
 * 设置编码UTF-8
 * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
 */
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException 
// 设置编码UTF-8
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
chain.doFilter(request, response);


/**
 * @see Filter#init(FilterConfig)
 */
public void init(FilterConfig fConfig) throws ServletException 
// TODO Auto-generated method stub


参考技术A 火狐调试的时候,看看传过来的是不是就已经乱码,还是在jsp中的乱码本回答被提问者采纳

JavaWeb在表单提交中文显示乱码

https://www.cnblogs.com/mmykdbc/p/9040998.html

这篇文章讲的比较全。

我的问题是文章中的问题一,即在jsp页面中通过<method=“post”>提交数据。

此时想不乱码,需要在服务器端,即对应的servlet程序中设置request对象的编码。客户端以哪种编码提交的,服务器端的request对象就以对应的编码接收。比如客户端是以UTF-8编码提交的,那么服务器端request对象就以UTF-8编码接收,request.setCharacterEncoding(“UTF-8”)。

以上是关于javaweb表单提交中文乱码问题?的主要内容,如果未能解决你的问题,请参考以下文章

透彻分析和解决一切javaWeb项目乱码问题

java jsp 中 表单用 get 提交 怎样解决中文乱码问题?

JavaWeb中表单数据的获取及乱码问题

form表单提交乱码问题?

Javaweb接收表单数据以及中文乱码处理

eclipse中JSP表单提交运行后出现乱码