spring hibernate mysql jsp乱码

统一用一种编码格式,比如gb2312。 要点如下: 1.  将mysql的默认字符集改为gb2312

      my.ini文件中的default-character-set=gb2312;

2.  jsp文件character也要设置为gb2312

      <%@page contentType="text/html;charset=gb2312"%>

3.  在进行数据保存之前进行gb2312到iso8859-1编码的转换

例如在vo包中: public void setMsg(String msg){  byte temp [];  try  {   temp = msg.getBytes("iso-8859-1");   this.msg = new String(temp);  }catch(Exception e){   System.out.println(e);  } }

上面这种方式如果不管用的话可以试试下面这种

String queryString = new String(req.getParameter("queryString").getBytes("iso-8859-1"), "gb2312");

4.  配置文件

例如: 

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">   <property name="url">   <!--<value>jdbc:mysql://localhost/myNews</value>-->    <value>jdbc:mysql://localhost/myNews?useunicode=true&amp;characterencoding=gb2312</value>  </bean>

或如下例:

applicationContext.xml中的数据库连接必须设置为

<property>jdbc:mysql://localhost/dbname?useUnicode=true&amp;characterEncoding=gb2312</property>

不应该是 jdbc:mysql://localhost/dbname?useUnicode=true&characterEncoding=gb2312

 

你可能感兴趣的:(spring hibernate mysql jsp乱码)