上次测试使用hibernate,遇到了中文的乱码问题,今天在web中使用hibernate又遇到了乱码的问题。但是上次解决后没有把解决方案记录下来,今天重新上网搜索了一把。并将解决方案记录在下面便于以后再遇到时查看用。
 Hibernate中配置Mysql数据库如下:
 hibernate.dialect net.sf.hibernate.dialect.MySQLDialect
 hibernate.connection.driver_class org.gjt.mm.mysql.Driver
 #hibernate.connection.driver_class com.mysql.jdbc.Driver
 hibernate.connection.url jdbc:mysql://localhost:3306/test
 hibernate.connection.username root
 hibernate.connection.password password
 在hibernate.commection.url的值后面加上字符串“?useUnicode=true&characterEncoding=GBK”就可以解决了。
 即修改后的url为:
 hibernate.connection.url jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=GBK
 Hibernate还有一种配置文件是xml格式的,文件名为:hibernate.cfg.xml
 在xml文件中配置MySql数据库的定义如下:
     <session-factory name="/jndi/ContactsSessionFactory">
        <!-- properties -->
        <property name="hibernate.connection.driver_class">
 org.gjt.mm.mysql.Driver
 </property>
        <property name="hibernate.connection.url">
 jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=GBK
 </property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">password</property>
        <property name="hibernate.dialect">
 net.sf.hibernate.dialect.MySQLDialect
 </property>
        <property name="hibernate.connection.pool_size">4</property>
        <property name="hibernate.show_sql">true</property>
        <!-- mapping files -->
        <mapping resource="hello/Message.hbm.xml"/>
     </session-factory>
 注意由于在XML文件中&符号是转义符,因此需要对其进行转义。即使用&来代替。
  
          
  
 JSP连接MYSQL数据库如果有中文存取的情况会出现乱码,网页上中文显示一堆“?“,
需要做如下改变
1. 连接串:
 String mysqlDriver = "org.gjt.mm.mysql.Driver";                        //数据库驱动,又作"com.mysql.jdbc.Driver"
  String mysqlUrl = "jdbc:mysql://localhost:3306/bbs?useUnicode=true&characterEncoding=gb2312";    //数据库连接字串
  String mysqlUser = "root";                                             //数据库用户名
  String mysqlPsw = "";                                                  //数据库密码
  
  Class.forName("org.gjt.mm.mysql.Driver").newInstance();   //注册驱动
  conn = DriverManager.getConnection(mysqlUrl,mysqlUser,mysqlPsw);  //得到连接
2.请求对象设置:
<% request.setCharacterEncoding("gb2312");%>
将jsp的请求对象的字符集设置为支持中文
  
  
 这中方法还没用过,先收藏起来,有空的时候研究一下。