编码的统一主要在以下三个地方:JSP页面,数据库连接方式,数据库。
一首先看一下数据库方面的编码设定
1:mySQL的my.ini文件,它位于MySQL Server 安装目录下,设置default-character-set = gbk(共两处);
2:建立数据库表的时候要写成这样。
create table `immdb`.`admins`(
......
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
最后这句ENGINE=InnoDB DEFAULT CHARSET=gbk是设置建立的这个表使用的是GBK。
二下面再看看数据库连接方式上编码需要注意的地方
它在connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/immdb?user=root&password=123456&useUnicode=true&characterEncoding=GBK");
最后的字符编码被指定为GBK。这样才能与数据库统一,不会在传递过程中发生乱码。
三再看看JSP页面的编码修改位置,位于<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
但是还应该注意,如果在JSP页面传递form或者其他值的时候,有中文,那么,你还需要在JSP页面中加入<% request.setCharacterEncoding("GBK");%>(在servlet中加入request.setCharacterEncoding("GBK");
response.setCharacterEncoding("GBK");
一首先看一下数据库方面的编码设定
1:mySQL的my.ini文件,它位于MySQL Server 安装目录下,设置default-character-set = gbk(共两处);
2:建立数据库表的时候要写成这样。
create table `immdb`.`admins`(
......
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
最后这句ENGINE=InnoDB DEFAULT CHARSET=gbk是设置建立的这个表使用的是GBK。
二下面再看看数据库连接方式上编码需要注意的地方
它在connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/immdb?user=root&password=123456&useUnicode=true&characterEncoding=GBK");
最后的字符编码被指定为GBK。这样才能与数据库统一,不会在传递过程中发生乱码。
三再看看JSP页面的编码修改位置,位于<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
但是还应该注意,如果在JSP页面传递form或者其他值的时候,有中文,那么,你还需要在JSP页面中加入<% request.setCharacterEncoding("GBK");%>(在servlet中加入request.setCharacterEncoding("GBK");
response.setCharacterEncoding("GBK");