【发布时间】:2016-07-01 07:02:35
【问题描述】:
当通过 J2EE 应用程序保存时,在 DB 中保存文本“février.xlsx”会被保存为“février.xlsx”。
数据库版本:Oracle Database 11g Enterprise Edition Release 11.2.0.4.0
NLS_CHARACTERSET - AL32UTF8
NLS_NCHAR_CHARACTERSET - AL16UTF16
public DocumentModel save(DocumentModel model) {
DocumentModel docModel = null;
try {
LOGGER.info("Name before saving into DB :"+model.getDocumentFileName());
docModel = entityManager.merge(model);
} catch (Exception exp) {
LOGGER.error("Exception occured");
}
return docModel;
}
表中的列数据类型:VARCHAR2(256 CHAR)
保存到数据库之前的名称:février.xlsx
名称保存的数据库:février.xlsx
我尝试使用插入语句手动插入数据库。它插入正确,但从应用程序插入时不正确。
【问题讨论】:
-
可能是您的应用程序将会话 NLS 字符集设置为不兼容的内容?您是否有任何方法可以验证应用程序的 NLS 设置?
标签: oracle hibernate jpa oracle11g