我有一个 Spring Boot(版本 1.3)Web 应用程序,全部采用 UTF-8 格式,还有一个 PostgreSQL 服务器,服务器编码为 UTF-8,客户端编码为 WIN1252。
问题是,当我手动在数据库中保存带有特殊字符的内容时,编码是正确的,但从 JDBC 中,字符串保存错误。
同样,当我用特殊字符保存字符串并进行 SELECT 查询以手动读取时,编码是正确的,但从 JDBC 读取的字符串是错误的。
删除数据库并重新创建目前不是一个选择,因此我尝试了很多方法,但结果不佳。对我来说有什么解决办法吗?
PD:我已将所有这些属性放入我的 application.properties 文件中:
spring.datasource.sql-script-encoding = UTF-8
spring.http.encoding.charset = UTF-8
spring.http.encoding.enabled = true
spring.http.encoding.force = true
spring.mandatory-file-encoding = UTF-8
server.tomcat.uri-encoding = UTF-8
spring.messages.encoding = UTF-8
我有类似的问题。我使用 Spring Boot 1.5.9 和 postgres 9.6,带有插入的 data.sql。 data.sql上的编码是UTF-8,但应用程序启动后,DB中的编码是特殊符号而不是俄语字母。
spring.datasource.sql-script-encoding= UTF-8
application.properties 中的这个属性很有帮助。
负责数据库的所有属性:
spring.datasource.jndi-name=java:/PostgresDS
spring.jpa.properties.hibernate.default_schema=my_scheme_name
spring.jpa.hibernate.ddl-auto = update
spring.jpa.show-sql = false
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
spring.datasource.continue-on-error=true
spring.datasource.sql-script-encoding= UTF-8
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)