Java--GET、POST及JSP中文乱码

xiaoxiao2021-02-27  131

一、问题

Java开发当中,经常遇到中文乱码问题,一般分为GET请求中文乱码、POST请求中文乱码、JSP页面中文乱码。

二、解决办法

2.1 POST请求中文乱码

这个情况,解决办法最简单,在WEB-INF/web.xml中配置utf-8编码过滤器

<!-- 配置post请求编码过滤器,统一设置为utf-8 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

2.2 GET请求中文乱码

Tomcat/conf/server.xml中添加URIEncoding="UTF-8"

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>

如果上述2种方法都没有配置,也可以直接在java代码当中实现中文参数的编码格式转换,这里有一段给大家贴一段代码

String name=request.getParameter("name"); name=new String(name.getBytes("iso8859-1"),"utf-8");

PS:Java代码说明

1.默认所有的GET请求先去采用Tomat配置的编码格式; 2.Tomcat没有配置编码格式,则默认是iso8859-1编码格式,这时候后台程序代码才需要通过以上Java代码转换参数编码格式为utf-8; 3.Tomcat已经配置utf-8编码格式,就不需要再进行转码了。重复UTF-8转UTF-8,也会造成乱码。 4.此段代码学习,可参考这位同志的博文了解了解  http://blog.csdn.net/xingshen100/article/details/13614009

 

2.3 JSP界面中文乱码

只需要在每一个jsp文件开头,添加以下代码

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

 

转载请注明原文地址: https://www.6miu.com/read-15842.html

最新回复(0)