一,html
Java源文件中极可能包含中文,而Java和JSP源文件保存的方式是基于字节流的。若是Java或JSP编译成class文件过程当中,使用的编码方式和源码方式不一致,则会出现乱码。在HTML页面中,因为页面编码和浏览器的编码方式不一样,也会出现乱码。
java
1,结果HTML中中文乱码问题
mysql
在每一个HTML页面中的<head></head>标签中增长
web
<head> <META http-equiv=Content-Type content="text/html;charset=utf-8"> </head>
2,解决jsp中中文乱码问题
spring
pageEncoding是jsp文件自己的编码,contextType的charset是服务器传送给客户端的内容编码
sql
<%@ page language="java" contextType="text/html" charset="utf-8" pageEncoding="utf-8"%>
3,解决页面数据传输乱码问题
数据库
采用编码过滤器来解决,设置一个过滤器,把全部的编码都统一浏览器
<!--定义编码过滤器--> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacerEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
4,HTTP(post)中出现乱码
服务器
在servlet页面中添加
app
response.setCharacterEncoding("utf-8") ;
5,HTTP(get)中出现乱码
若是是get,须要获取请求的字符串,将字符串进行转换,同时须要知道源码
//获取请求的字符串 String str = resquest.getParameter("param") ; str = new String(str.getBytes("ISO-8859-1"),"UTF-8") ;
6,MySql数据库中中文问题
解决MySql数据库中的中文问题,主要在JDBC的驱动url中添加
jdbc:mysql://localhost:3306/test?user=root&password=123&useUnicode=true&characterEncoding=UTF-8