web开发编码设置(jsp页面编码,servlet编码,连接数据库时编码设置)
以utf-8格式编码为例:
1.jsp页面编码设置
<%@pagepageEncoding="utf-8"contentType="text/html;charset=utf-8"%>
<html>
<head>
<metahttp-equiv=Content-Typecontent="text/html;charset=utf-8"/>
</head>
</html>
2.servlet编码设置:
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
3.数据库编码设置
(1)创建数据库时要先设置成utf-8格式,下面主要以mysql为例来说明这个问题:
createdatabasedbdefaultcharactersetutf8(注意是utf8,不是utf-8)
在插入数据的时候,尤其是中文,要注意,
用status命令查看clientcharacterset是什么编码的,如果是utf8的话,直接插中文是插不进去的,必须用一个setnamesgbk;命令,才可以确保插成功
(2)在java程序端创建连接时,url设置成
jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=utf8
可以写一个DAO,测试一下是否能插入正确的数据,显示正确的数据。如果中文显示?,有可能你用的jar包有问题,确保它是版本5的,我曾经用的版本3,出来就是?。千万要注意一下。
如果上面的步骤都严格执行的话,应该是没什么问题的了。