1.jsp页面信息传递给Servlet,产生乱码
一般解决办法
request.setCharacterEncoding("UTF-8");
get方法 乱码,特殊的解决办法把接收jsp的信息request.getParameter(“param”)放进去
String param = URLDecoder.decode((new String(request.getParameter("param").getBytes("ISO8859-1"), "UTF-8")), "UTF-8");
2.Servlet信息传递给jsp页面,产生乱码
response.setContentType("text/html;charset=utf-8");
3.数据传递到数据库产生乱码在数据库明后面添加?useUnicode=true&characterEncoding=UTF-8
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/java01?useUnicode=true&characterEncoding=UTF-8", "root", "");
4.jsp页面乱码,把jsp页面最上面改为pageEncoding="UTF-8"
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
5.过滤器处理中文乱码问题,在doFilter里面添加下面这句,就可以解决servlet中文乱问题
//设置统一编码格式
request.setCharacterEncoding("utf-8");
6.更改Myeclipse编码格式
1.Window---->preferences---->General---->Content Types---->Text---->Java Source File
下面的Default encoding改为utf-8,并Update
2.Window---->preferences---->General---->Workspace
把Text file encoding改为Other:UTF-8然后Apply