弹簧数据 jpa utf-8 编码不起作用

spring data jpa utf-8 encoding not working(弹簧数据 jpa utf-8 编码不起作用)
本文介绍了弹簧数据 jpa utf-8 编码不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用 spring-data-jpamysql 数据库.我的表格字符集是 utf-8.我还添加了 ?useUnicode=yes&characterEncoding=utf8 到 application.properties 文件中的 mysql url.当我将ąčęėį"之类的字符传递给控制器​​以将其保存在 mysql 中时出现问题.在mysql中我得到了???分数.但是当我使用 mysql 控制台示例 update projects_data set data="ąęęąčę" where id = 1; 时,每个都运行良好.

I use spring-data-jpa and mysql database. My tables character set is utf-8. Also I added ?useUnicode=yes&characterEncoding=utf8 to mysql url in application.properties file. Problem when I pass characters like "ąčęėį" to controller to save it in mysql. In mysql I got ??? marks. But when I use mysql console example update projects_data set data="ąęąčę" where id = 1; every works well.

application.properties:

application.properties:

# "root" as username and password.
spring.datasource.url = jdbc:mysql://localhost:3306/gehive?useUnicode=yes&characterEncoding=utf8
spring.datasource.username = gehive
spring.datasource.password = pass

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

# Keep the connection alive if idle for a long time (needed in production)
spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1

# Show or not log for each sql query
spring.jpa.show-sql = true

# Hibernate ddl auto (create, create-drop, update)
spring.jpa.hibernate.ddl-auto = update

# Naming strategy
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy


# Use spring.jpa.properties.* for Hibernate native properties (the prefix is
# stripped before adding them to the entity manager)

# The SQL dialect makes Hibernate generate better SQL for the chosen database
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

表格:

+---------------+--------------------+
| TABLE_NAME    | character_set_name |
+---------------+--------------------+           
| customer      | utf8               |
| projects      | utf8               |
| projects_data | utf8               |
+---------------+--------------------+

推荐答案

试试

spring.datasource.url = jdbc:mysql://localhost:3306/gehive?useUnicode=yes&characterEncoding=UTF-8

问题似乎是由于缺少-".

It seems issue is due to missing "-".

参考:-https://forum.hibernate.org/viewtopic.php?f=1&t=1037497&view=next

这篇关于弹簧数据 jpa utf-8 编码不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)
SQL/MySQL: split a quantity value into multiple rows by date(SQL/MySQL:按日期将数量值拆分为多行)