2017-06-28 3 views
0

funktioniert Wenn ich tueSpring Data JPA - Encoding UTF-8 nicht

repository.save(entity) 

Zeichen wie "C", "S", ... werden als angezeigt werden "?". Ich kann die Daten direkt vor dieser Codezeile anzeigen und sie wird normal formatiert. Auch das Einfügen durch das Terminal funktioniert gut.

wie viele Dinge ausprobiert:

spring.datasource.url= jdbc:mysql://localhost:3306/database?useUnicode=yes&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.thymeleaf.encoding=UTF-8 
spring.mvc.formcontent.putfilter.enabled=true 
spring.http.encoding.charset=UTF-8 
spring.http.encoding.enabled=true 
spring.http.encoding.force=true 

und nicht von ihnen arbeiten. Ich benutze Spring Boot 2.0.0M2 und Spring Security.

+1

haben u versucht, die Verbindung strng ohne URL-Codierung? – Shibashis

+0

Was zeigt diese Zeichen als "?"? –

+1

Auch nach mysql doc ist 'useUnicode = true' der richtige Wert und nicht' useUnicode = yes' https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration -properties.html – Shibashis

Antwort

1

& sollte nicht zur Verbindungszeichenfolge hinzugefügt werden. Spring stellt sicher, dass die URL codiert wird, wenn die tatsächliche Verbindung hergestellt wird.

Auch die richtige param gesetzt werden, wenn die Verbindung hergestellt wird, ist useUnicode=true