【发布时间】:2021-11-05 22:41:21
【问题描述】:
我们在字符集 WIN1250 (EE8MSWIN1250) 中有 ORACLE 数据库。直到 ORACLE 12.1 版一切正常。但是现在我们已经安装了 ORACLE 12.2 并且从数据库中读取的相同数据包含无效字符。例如,我展示了 DBeaver 的屏幕截图(它类似于 SQLDeveloper - 但它是通用的,并且用于连接到 ORACLE 使用了与我们相同的 THIN 驱动程序)前两张图片来自 ORACLE 12.1(带有 CLOB 字段的表中的设置和数据)和第二张两张图片来自 ORACLE 12.2(设置和相同数据)
有人知道 12.1 和 12.2 版本有什么区别吗?我在 ORACLE 网站上阅读了很多文档,但没有结果。
甲骨文 12.1 设置
来自 ORACLE 12.1 的数据 - 正确的字符
甲骨文 12.2 设置
来自 ORACLE 12.2 的数据 - 包含无效字符
【问题讨论】:
-
一个区别是 12.2 默认为 UTF8 字符集。是否有可能当有人安装 12.2 时他们不小心使用了新的默认值,然后他们转换了它而不是重新安装它?转换数据库字符集很棘手,很容易损坏数据。
-
我不认为这是原因。 Oracle 已安装,安装后导入数据。如果 ORACLE 12.1 一切正常,但如果 ORACLE 12.2 数据包含无效字符。
-
你有没有想过要问Oracle?我假设您有服务协议?
-
当然,我们是软件开发人员,并且我们有 Oracle 作为我们的数据库。我可以尝试询问Oracle,但是他们的支持过程太复杂了:)。我希望有人知道答案。
标签: oracle12c