【问题标题】:How to set Oracle NLS_LANG when using JPA使用 JPA 时如何设置 Oracle NLS_LANG
【发布时间】:2012-01-17 09:08:11
【问题描述】:

我正在使用 JPA 访问其编码设置为 ISO-8859-1 的 Oracle 数据库。

如何使用 JPA 设置 NLS_LANG 以接收正确编码的数据?

我怀疑它应该设置在持久性上下文 XML 中的某个位置。

【问题讨论】:

  • 您应该依赖 NLS_LANG 的特殊值(以及随之而来的隐式转换)。使用适当的格式掩码,例如在to_date()to_char()

标签: oracle jpa nls-lang


【解决方案1】:

JDBC 驱动程序负责一切。它知道编码值是什么,并使用适当的编码,而无需您进行任何操作。

【讨论】:

  • AFAIK 驱动程序使用来自 JVM 的默认语言环境(可以使用 -Duser.locale 设置) - 但仍然:任何生产代码都不应该依赖 NLS_LANG 的特定设置
  • 你可能是对的。我的回答更关心编码。我将对其进行编辑以使其更清晰。
  • 谢谢。我自己弄错了特殊字符。因此无需再尝试更改连接设置。
猜你喜欢
  • 2012-11-15
  • 2019-08-25
  • 2014-08-10
  • 2013-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-28
  • 1970-01-01
相关资源
最近更新 更多