JSP页面中避免乱码:
<%@ page language="java" contentType="text/html;charset=utf-8"
pageEncoding="UTF-8"%>
html页面中避免乱码:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
含有Spring框架的web工程中乱码解决:在web.xml中配置
<!--中文乱码处理 -->
<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>
仅仅对post请求有效,若需要解决get请求乱码,还需要去Tomcat目录,conf文件夹下的server.xml
打开server.xml,找到 <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
在最后加上URIEncoding="UTF-8"
最终效果
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />这样就可以解决get请求乱码问题
servlet中乱码问题
get请求这样解决:
String args = request.getParameter("args");
String str = new String(args.getBytes("ISO-8859-1"),"utf-8")
post请求这样解决:
request. setCharacterEncoding(“UTF-8”);
在响应中乱码解决:
response.setContentType(“text/html;charset=utf-8”);
response. setCharacterEncoding(“UTF-8”);