Hibernate、Spring 和 MySQL:无法将字符集设置为 UTF-8

2024-01-07

我对 Hibernate 和 Spring 有一个问题:我无法在任何地方使用 UTF-8 字符集,并且我对重音字母有一些问题(例如éèà...)。这是我的数据库创建的一部分:

-- Dropping and creating database again
DROP DATABASE `miniprojetjee`;
CREATE DATABASE IF NOT EXISTS `miniprojetjee` default character set = "UTF8" default collate = "utf8_general_ci";

-- My user
GRANT ALL ON `miniprojetjee`.* to 'miniprojetjee'@'localhost' identified by 'miniprojetjee';

CREATE TABLE Utilisateur (
    username VARCHAR(45) NOT NULL ,
    password VARCHAR(45) NOT NULL ,
    enabled TINYINT NOT NULL DEFAULT 1 ,
    telephone VARCHAR(20),
    mail VARCHAR(255) NOT NULL,
    description MEDIUMBLOB,
    date_inscription TIMESTAMP DEFAULT NOW(),
    PRIMARY KEY (username)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- .../...

我认为这意味着我的数据库是完整的 UTF-8。所以在此之后,我通过我的配置配置了 spring 和 hibernateweb.xml...

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/dispatcher-servlet.xml, /WEB-INF/spring-security.xml</param-value>
    </context-param>

<!-- .../... -->

And my dispatcher.xml :

<!-- .../... -->
<bean id="dataSourceMySql" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/miniprojetjee?useUnicode=true&amp;connectionCollation=utf8_general_ci&amp;characterSetResults=utf8"/>
    <property name="username" value="miniprojetjee"/>
    <property name="password" value="miniprojetjee"/>
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSourceMySql"/>
    <property name="packagesToScan" value="dao"/>

    <property name="hibernateProperties">
        <props>
            <prop key="show_sql">${hibernate.show_sql}</prop>
            <prop key="hibernate.dialect">${hibernate.dialect}</prop>
            <prop key="hibernate.connection.useUnicode">true</prop>
            <prop key="hibernate.connection.characterEncoding">UTF-8</prop>
            <prop key="hibernate.connection.charSet">UTF-8</prop>
            <!-- Tryied a lot of things...
            <prop key="connection.useUnicode">true</prop>
            <prop key="connection.characterEncoding">UTF-8</prop>
            <prop key="connection.charSet">UTF-8</prop>
            <prop key="useUnicode">true</prop>
            <prop key="characterEncoding">UTF-8</prop>
            <prop key="charSet">UTF-8</prop>
            -->
        </props>
    </property>
</bean>

<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>

<!-- .../... -->

有什么办法可以解决这个问题吗?我现在找不到任何有效的东西。


添加到您的数据库 URL 参数characterEncoding=utf-8所以连接 URL 应该是

<property name="url" value="jdbc:mysql://localhost:3306/miniprojetjee?useUnicode=true&amp;connectionCollation=utf8_general_ci&amp;characterSetResults=utf8&amp;characterEncoding=utf-8"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hibernate、Spring 和 MySQL:无法将字符集设置为 UTF-8 的相关文章

随机推荐

  • 如何启用 Visual Studio 项目的 TypeScript 选项卡,该项目是控制台或自托管网页的 Windows 服务

    我使用 Visual Studio 2015 创建了一个控制台应用程序来使用嵌入的静态文件自行托管 Owin 由于 Visual Studio 不知道它是一个网站项目 因此它会忽略 TypeScript 文件 当我转到项目属性时 Web 项
  • 使用 EPplus 对每个单元格进行数据验证以检查该值是否可用

    我正在使用 Epplus 上传文件 我有两张 xlsx 格式的工作表 我想确保每个单元格都有值 例如 在我的 Excel 中 我有下拉框 如果用户在第一张工作表和第二张工作表中有详细信息是空的 但是这个空工作表只有一个值 该值是通过使用此下
  • 通过CSS将所有照片变成正方形

    我正在尝试将一系列照片制作成方形照片 它们可能是水平矩形 即 600x400 或垂直矩形 400x600 但我想让它们成为 175x175 我的想法是在较小的一侧设置 max height 或 max width 并且不允许在较大的一侧溢出
  • 添加列以选择 *

    在 SQL Server 中 我曾经做过类似的事情来向选择添加额外的列 select case when w1 start date lt w2 start date then to date w2 START date DD MM YYY
  • 在 Locust 中如何从一个任务获取响应并将其传递给其他任务

    我已经开始使用 Locust 进行性能测试 我想向两个不同的端点发出两个发布请求 但是第二个post请求需要第一个请求的响应 如何以方便的方式做到这一点 我已经尝试过如下但没有工作 from locust import HttpLocust
  • Windows Azure 存储表连接超时

    当长时间 几天 运行服务时 我收到来自 Windows Azure 表存储的连接超时异常 即使 get table api 也会返回此异常 为什么会出现这种情况 我该如何解决这个问题 除了 Gaurav 的回答之外 此问题的另一个常见原因是
  • Android 圆形图库或列表视图,具有放大和缩小选项

    我想要一个循环滚动的列表或图库 并且当前项目必须放大 其他项目必须缩小 如下 任何人都可以提供实施的好主意以及任何代码帮助吗 None
  • 不使用指针的递归数据结构

    在攻读计算机科学学士学位期间 我多次遇到过递归数据结构的使用 在 C 中 我总是最终使用指针来使数据结构递归 就像我在 C 中所做的那样 一个简化的示例如下 struct Tree int data struct Tree left rig
  • 执行 Docker Inspect 时如何获取 ENV 变量

    我想知道如何从 dockerspect 获取环境变量 当我跑步时 docker inspect f Config Env PATH 1e2b8689cf06 我得到以下信息 FATA 0000 template 1 9 executing
  • C++ 中的斑点检测

    我是计算机视觉方面的新手 但我需要在 C 中创建一个小功能 即使他上面印有东西 它也会检测一张白纸 并检索 4 个边缘坐标 这就是我真正需要的 这样我就可以使用这些坐标并剪切另一个 jpg 文件 并将剪切的图像用作 opengl 纹理 我不
  • Mac Sierra 中焦点跟随鼠标(无自动提升)

    我知道有关此主题的其他线程 但它们是基于自动引发的和 或所有答案都指向不再开发的软件 我只是在寻找这个简单的功能 Mac 上焦点跟随鼠标 无需自动提升 Zoooom2 能够执行此操作 但他们不再开发自己的软件 我没有使用终端 需要在具有多个
  • Logstash grok 测试与 rspec 有不同的行为?

    我正在为 grok 过滤器创建一个测试套件 有些日志由logstash 正确丰富 但不是rspec 测试 为了测试这一点 我启动了一个 Logstash 实例 其中包含 stdin stdout 和 json 用于输入和输出 这是示例日志
  • jquery ajax请求跨域时返回状态码0

    我正在尝试发出跨域请求 但服务器无法响应 Access Control Allow Origin 我正在尝试读取响应头 当我尝试读取状态代码或就绪状态时 它返回 0 我的 ajax 请求代码如下 ajax url https account
  • 使用scale_fill_manual手动分配颜色仅适用于某些六边形尺寸

    我正在尝试创建一个由六边形计数箱总结的散点图 我希望用户能够定义色标的计数中断 我有这个工作 使用scale fill manual 但奇怪的是 它只是有时有效 在下面的 MWE 中 使用给定的种子值 如果xbins 10 导致绘图存在以下
  • 在析构函数调用的哪一点,对象不再存在?

    当一个对象的析构函数被调用时 该对象在什么时候不再存在 它是在被调用的那一刻发生的吗 或者在完成删除函数内对象成员的内存之后 我主要问它是为了了解在其析构函数中调用对象的函数是否合法 在析构函数调用的哪一点 对象不再存在 对象的生命周期通过
  • 没有完整堆栈框架的 Symfony 组件

    我在我的项目中使用 Symfony DI Http Kernel Routing 创建您自己的 PHP 框架 https symfony com doc current create framework index html https s
  • 连接两个docker容器

    我有两个容器 第一个带有django第二个是postgresql 好吧 在我的第一个服务器中我运行了django我正在尝试将它与第二个联系起来 第二个容器有端口32770暴露但在端口内部运行5432 在我的本地机器上 我有连接 服务器 本地
  • 如何在 Oracle PLSQL 中透视表?

    我有一个表格如下 KEY 1995 1996 1997 1998 1999 2000 2001 2002 2003 123 0 0 0 461 1188 2049 1056 377 295 我希望数据可见 如下所示 KEY SEQ NBR
  • 即使侧边栏在 SwiftUI 中打开,如何使视图全屏?

    Goal 与地图应用程序一样 当侧边栏打开时 视图显示为全帧大小 视图位于侧边栏下方 我尝试过的 为了最大化视图的大小 我将大小设置为无穷大并添加视图修饰符 ignoresSafeArea 但它仍然不像地图那样全画幅 当我打开侧边栏时 你会
  • Hibernate、Spring 和 MySQL:无法将字符集设置为 UTF-8

    我对 Hibernate 和 Spring 有一个问题 我无法在任何地方使用 UTF 8 字符集 并且我对重音字母有一些问题 例如 这是我的数据库创建的一部分 Dropping and creating database again DRO