JavaWeb中文乱码解决方案

1,Jsp页面

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

 2,JSP页面头部 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 

3,浏览器调用servlet,页面显示乱码

servlet使用response对象输出前,先执行

1 response.setContentType("text/html;charset=utf-8");
3 response.setCharacterEncoding("utf-8");

4,jsp或servlet中表单参数提交给对应的jsp或servlet,接收的jsp或servlet中接收到的参数中文显示乱码

在接收post提交的参数前,使用

request.setCharacterEncoding("utf-8");

设定接收参数的内容格式为utf-8编码。

5,数据库连接

设置characterencoding为UTF-8 如:

String url = "jdbc:mysql://localhost:3306/dbname?useUnicode=true&amp;characterEncoding=UTF8";

6,使用Hibernate,所有的配置文件头部的编码格式改成UTF-8

7, URL方式传递参数(Tomcat)乱码

为了保证get/post数据都采用相同的UTF8编码,在tomecat中server.xml设置: 

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

 8,数据库(mysql)

输入查询语句SHOW VARIABLES LIKE 'character_set_%';查看所有的编码是否是UTF-8。如不是,使用Server Instance Config 把默认的字符集设置为utf-8或者修改/MySQL/MySQL Server 5.0/my.ini中的default-character-set=gbk

character-set-server=gbk;

重新启动mysql的服务

 

posted @ 2016-04-12 21:10  water10  阅读(5315)  评论(0编辑  收藏  举报