Servlet及JSP解决中文乱码问题
这篇是我们老师给我们的文档内容,他的博客里有写了这个内容,他的博客:http://blog.sina.com.cn/javaprogramming
关于中文乱码问题是我们在做项目主要是Web项目时相当头疼的问题,在此我就简单的说一下如何解决在做Web项目解决中文乱码问题。按照下面的编号解决页面乱码需要6步,解决Servlet乱码只需前5步即可。
1.创建数据库时启动mysql使用参数
mysql -uroot -p --default-character-set utf8
2.创建数据库
create database xxx default character set utf8;
执行sal脚本
source D:\ xxx.sql
3.修改mysql 数据库连接url
jdbc:mysql://localhost:3306/smile?useUnicode=true&characterEncoding=utf8
在hibernate配置文件当中为jdbc:mysql://localhost:3306/smile?characterEncoding=utf8
4.提交时使用post提交
<form action="xxx. action " method="post">
5.使用过滤器filter
reqeust.setCharacterEncoding("utf8");
6.jsp页面设置字符集 <%@page contentType="text/html;charset=utf8" %>
注意:只要按照以上步骤来设置编码你的项目里面就不会出现中文乱码问题。但是如果你想用控制台来查看数据库里面的数据这时候你看到还是出现了乱码,但这只是查询所显示的结果是乱码,数据库里面存的并非乱码,此时你只需要在查询前使用下面这个命令就能解决这个问题:set character_set_results='gbk',这个问题也只是在Windows平台下才会出现Unix、Linux下不会出现这个问题,因为在Unix、Linux平台下控制台默认的显示编码都是utf8。