用hibernate封装的方法save()向mysql 数据库中添加的数据是乱码,安装数据库的时候用的是utf-8字符集,创建数据库和表的时候也是用的utf-8。但是用save方法插入记录的时候插入到数据库中是乱码,如果用insert语句插入汉字就没有问题
hibernate.cfg.xml文件:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///databases</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<!--第一次创建表的时候应该用create -->
<property name="show_sql">true</property>
<mapping resource="com/test/hibernate/model/ClientUser.hbm.xml" />
</session-factory>
</hibernate-configuration>
解决方案:在与数据库连接的时候指定字符集,
<property name="hibernate.connection.url">jdbc:mysql:///databases?useUnicode=true&characterEncoding=UTF-8</property>
分享到:
相关推荐
在开发Java Web应用程序时,经常会遇到数据库操作中的字符编码问题,特别是当使用Hibernate框架与MySQL数据库结合时。本文将深入探讨“hibernate+mysql乱码问题”的原因、解决方案以及如何预防这类问题。 首先,...
假设我们有一个使用MySQL数据库的Java项目,该项目使用Hibernate框架进行数据库操作,并使用Tomcat作为应用服务器。现在遇到了中文乱码的问题,我们可以按照以下步骤进行排查和解决: 1. **检查MySQL数据库设置**:...
综上所述,解决hibernate+mysql环境下中文存入数据库乱码的问题,需要从Web应用配置、数据库配置、框架配置以及文件编码等多个方面综合考虑,确保整个数据处理链路的字符集一致且支持UTF-8。只有这样,才能确保中文...
3. **MySQL数据库和表的编码设置**: 如果已经存在数据库,需要删除并重新创建,确保新数据库的字符集为UTF-8。可以使用以下SQL命令: ``` CREATE DATABASE hibernate CHARACTER SET utf8 COLLATE utf8_general_c...
在使用Hibernate框架进行Java应用程序开发的过程中,尤其是在连接MySQL数据库时,经常会遇到中文显示乱码的问题。这一问题通常发生在从数据库读取或向数据库写入中文数据时。中文乱码不仅影响用户体验,还可能导致...
在本篇文章中,我们将深入探讨如何解决Struts + Hibernate + MyEclipse + Tomcat + MySQL环境中出现的乱码问题。该问题通常出现在处理中文字符时,由于编码设置不当导致中文显示为乱码或无法正常读取。为了确保系统...
### hibernate插入数据库乱码的解决方式 在处理数据库与应用程序之间的数据交互时,经常会遇到一个令人头疼的问题:字符编码不一致导致的数据乱码。本文将详细介绍如何在使用Hibernate框架进行数据库操作时解决中文...
当Java应用程序中的持久化类包含中文字符串,并通过Hibernate映射到MySQL数据库时,如果数据库的字符集与应用程序使用的字符集不一致,就可能导致乱码现象。通常,Windows系统的默认本地字符集为GBK或GB2312,而...
在使用Hibernate框架与MySQL数据库进行数据交互时,可能会遇到写入数据库时出现乱码的问题。这通常是由于字符编码不一致导致的。以下是一些关键知识点,以及如何解决此类问题的详细步骤。 1. **字符编码配置**: ...
SSH 下 MySQL 中文乱码问题解决...首先,在 Hibernate 的配置文件 hibernate.cfg.xml 中需要添加参数 useUnicode=true 和 characterEncoding=UTF-8,以确保 Hibernate 连接 MySQL 数据库时使用 UTF-8 编码。例如: ``` ...
MySQL作为广泛使用的开源关系型数据库管理系统之一,在实际应用中也难免会遇到字符集不匹配导致的数据乱码问题。本文将详细探讨如何识别与解决MySQL中的乱码问题,并提供具体的操作步骤及注意事项。 #### 一、理解...
这里我们将深入探讨如何解决这个问题,主要涉及SSH(Spring、Struts、Hibernate)框架下的设置以及MySQL数据库的相关配置。 首先,我们需要了解Java中的字符编码。Java默认使用UTF-8编码,而MySQL数据库在创建时也...
通常,MySQL数据库默认使用UTF-8,但需要在Hibernate配置文件(如`hibernate.cfg.xml`)中指定连接URL,包含`useUnicode=true&characterEncoding=utf-8`参数来确保使用UTF-8。 5. **数据库** - MySQL 5.0 数据库的...
当使用Hibernate进行数据库操作时,如果数据库中的字段存储了中文字符,则在查询结果中可能出现乱码,即显示为“??”或其他不可识别的字符。这主要是由于字符编码不一致导致的。 #### 解决方案 **方法一:通过配置...
学生管理系统(Struts Hibernate mysql)无乱码问题。内附数据库文件,直接导入即可用。lib分成两个包lib1,lib2单独下载.把两个包一起搞到lib下即可。 这个是lib1包。你还要下载 学生管理系统(Struts Hibernate ...
MySQL数据库本身需要正确配置字符集以支持中文。在创建数据库或表时,通常推荐使用`utf8`或`utf8mb4`编码,如`CREATE DATABASE db_name CHARACTER SET utf8 COLLATE utf8_general_ci;`。同时,确保数据库连接URL中...
总结来说,J2EE项目中的编码问题涵盖Java的IO操作、HTTP通信、Struts框架的处理逻辑、MySQL数据库的存储以及Hibernate的数据映射。开发者需要对这些环节的编码解码规则有清晰的理解,以确保数据在整个生命周期中的...
在Java Web开发中,我们经常会遇到各种乱码问题,特别是在使用Hibernate、Struts和Spring等框架时。这些框架处理数据的方式以及与数据库交互的过程都可能导致字符编码不一致,从而引发乱码现象。以下是对这些技术全...