用户登录
用户注册

分享至

hibernate保存中文乱码

  • 作者: 举枪打鸟鸟
  • 来源: 51数据库
  • 2020-10-15

1、使用gb2312编码,变更mysql的数据库编码字符集。cmd模式下用mysql --default-character-set=gb2312 -u root -p进入,然后再每个建表语句后增加default character set gb2312;

重新建立数据表。

  值得注意的地方是:applicationContext.xml中的数据库连接必须设置为jdbc:mysql://localhost/struts?useUnicode=true&characterEncoding=gb2312,这样插入的才是正常的中文,否则就是乱码。

2、在进行数据保存之前进行gb2312到iso8859-1编码的转换,数据?寥≈?笤僮?还?础?

  这时的applicationContext.xml中的数据库连接必须设置为jdbc:mysql://localhost/struts,这样插入的才是正常的中文,否则就是乱码。


它们相同的地方是在用jsp进行中文内容填加时,都要进行gb2312到iso8859-1编码的转换:

String name;

name=trans(request.getParameter("name"));


String trans(String chi)

{

String result = null;

               byte temp [];

               try

               {

                       temp=chi.getBytes("iso-8859-1");

                      result = new String(temp);

                }

                catch(java.io.UnsupportedEncodingException e)

                {

                        System.out.println (e.toString());

                }

return result;

}

String trans(Object chi)

{

   return trans(chi.toString());

  }


软件
前端设计
程序设计
Java相关