jsp+jdbc+mysql
表单两种提交方式:post 和 get(默认)
从.jsp->.java->.class,先存为某种编码的.jsp文件,然后tomcat根据pageEncoding读取并转化为servlet存为系统默认编码
一:post方式:
1、jsp页面
在page头中 pageEncoding属性:GBK 存储编码 MyEclipse会以此来存储文件,tomcat也会以此来读.jsp并翻译成.Java文件
contentType属性:GBK 告诉浏览器页面的解码方式。
2、服务器 这里以tomcat为例
在server.xml文件中 connector这项中加入 useBodyEncodingForURI="true"
URLEncoding="gbk"表示将客户端请求传送来的值以GBK的标准来编码
3、在数据库连接时以MySQL为例:在连接的URL后面加上?useUnicode=true&characterEncoding=gbk -------->这点很重要
同时,将数据库的编码方式改为GBK,可以在安装过程中设置或者更改配置文件my.ini中的default-character-set=GBK
还有一种修改字符集的方法,就是使用mysql的命令: mysql> SET character_set_client = gbk ;
还要将MySQL数据库和表也都设为GBK:方法如下
1、建数据库时,create database 库名 default chartset=GBK
2、建表时配置字符集,create table 表名()DEFAULT CHARTSET=GBK
二:get方式
======================================================
struts+hibernate+mysql
1、jsp页面
在page头中 pageEncoding属性:GBK 存储编码 MyEclipse会以此来存储文件,tomcat也会以此来读.jsp并翻译成.Java文件
contentType属性:GBK 告诉浏览器页面的解码方式。
要在actionform文件中重写reset方法 在里面加入:request.setCharacterEncoding("gbk");
2、服务器 这里以tomcat为例
在server.xml文件中 connector这项中加入 useBodyEncodingForURI="true"
URLEncoding="gbk"表示将客户端请求传送来的值以GBK的标准来编码
3、在数据库连接时以MySQL为例:<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">GBK</property> -------->这点很重要
同时,将数据库的编码方式改为GBK,可以在安装过程中设置或者更改配置文件my.ini中的default-character-set=GBK
还有一种修改字符集的方法,就是使用mysql的命令: mysql> SET character_set_client = gbk ;
还要将MySQL数据库和表也都设为GBK:方法如下
1、建数据库时,create database 库名 default chartset=GBK
2、建表时配置字符集,create table 表名()DEFAULT CHARTSET=GBK
还有一种是用过滤器的方法 在这里我没有试过