乱码之我解

JSP与Struts跨系统编码配置


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

 

 

还有一种是用过滤器的方法  在这里我没有试过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值