Весенние данные JPA + Mysql не поддерживает UTF-8 - PullRequest
0 голосов
/ 16 декабря 2018

Я изо всех сил вставляю символ Unicode, например китайский, в таблицу Mysql.
Стек - это Spring Data JPA и Mysql.

Метод, который я пробовал:
1, Установить spring.datasource.url для поддержки utf-8 путем изменения application.properties

spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8
spring.datasource.tomcat.connection-properties=useUnicode=true;characterEncoding=utf-8
connection.useUnicode=true
connection.characterEncoding=utf-8
hibernate.connection.useUnicode=true
hibernate.connection.characterEncoding=UTF-8
spring.datasource.sqlScriptEncoding=UTF-8
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
spring.jpa.show-sql = true

2, установите IDE eclipse для использования utf-8 в качестве метода кодирования.
enter image description here

3, Установить переменную mysql через my.ini и текущие переменные набора символов mysql можно следующим образом:
enter image description here

Однако, когда я попытался выбрать все содержимоетаблица с помощью mysql инструмента командной строки, содержимое таблицы просто запутано с последовательностью вопросительного знака.Я что-то пропустил?

1 Ответ

0 голосов
/ 17 декабря 2018

Если вы используете Windows и установили UTF-8 через chcp 65001, тогда выполните SET NAMES utf8mb4; в инструменте командной строки mysql.Это должно переопределить cp850 на этом скриншоте.

Если вы используете terminal в * nix системе, то по умолчанию это может быть UTF-8.Итак, снова используйте SET NAMES utf8mb4;.

...