在jsp开发中经常遇到中文乱码的问题,遇到中文乱码时只要保证以下几处设置好编码就能解决中文乱码
JSP网页开头处:
<%@ page language="java" pageEncoding="utf-8"%>
.
.
.
<head>
.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
.
<head>
这两处可以保证web页面的中文不乱码。在中文提交到servlet时为了保证servlet接收到的中文不是乱码在get和post方法里设置如下:
get()方法里:
String name = new String(request.getParameter("name").getBytes("iso8859-1"),"utf-8");
post()方法里:
request.setCharacterEncoding("UTF-8");
这项servlet接收到的中文就不会乱码。
当中文下入到mysql里面时,为了保证中文部乱码需要建数据库时设置数据库及字段为utf-8格式,并且还需要设置下面两部分:
在mysql安装目录下的my.ini文件后面添加如下一行:
default-character-set=GBK
记得是“GBK”而不是“UTF-8”
并还有一处是,数据库url,
url="jdbc:mysql://localhost:3306/ebookstore?useUnicode=true&characterEncoding=gbk"
如果使用的是连接池,那就再tomcat里面的context文件里面写上如上的形式,记得&别忘了。
如果是在代码里配置的数据库那就写成这样:
url="jdbc:mysql://localhost:3306/ebookstore?useUnicode=true&characterEncoding=gbk"