我正在尝试将Sping Boot 中的此值保存到Oracle数据库表中的NVARCHAR2
字段中:
Lyli’anna
字符串
我希望Oracle保存整个值。然而,无论是使用sqldeveloper选择还是在spring应用程序中获取该值,我都得到了这个值:
Lyli¿anna
型
有没有办法在不修改要插入到数据库中的数据/值的情况下解决这个问题?介意详细分享吗?
更新:
我已经尝试添加了JVM运行选项与-Duser.encoding=UTF8
,添加了这些对-Duser.encoding=UTF8
配置:
hibernateProperties.put("hibernate.connection.characterEncoding", "utf8");
hibernateProperties.put("hibernate.connection.CharSet", "utf8");
hibernateProperties.put("hibernate.connection.useUnicode", true);
hibernateProperties.put(OracleConnection.CONNECTION_PROPERTY_DEFAULTNCHAR, "true");
hibernateProperties.put("hibernate.connection.defaultNChar", true);
型
但同样的事情还是发生了。
1条答案
按热度按时间kcwpcxri1#
正如你已经发现的,数据实际上是
Lyli¿anna
。所以,这不是显示的问题,也不是字体的问题。Sping Boot /hibernate是基于Java/JDBC的,请参阅数据库JDBC开发人员指南-全球化支持。
我不熟悉Java,作为第一次尝试,我建议设置
字符串
或应用程序使用的任何字符集。