Oracle SQL Developer客户端编码

艺术大师

我阅读了许多与Stack Overflow相关的主题,并且花了一整天的时间在Google上搜索以下问题,但是我没有发现任何有帮助的东西,但是问题似乎并不复杂。

我有一个Oracle数据库。让我们看下面的PL / SQL脚本:

    CREATE TABLE Dummy(
       id number(19,0),
       tclob clob,
       tnclob nclob,
       PRIMARY KEY (id));
    
    INSERT INTO dummy (id, tclob, tnclob) VALUES (1, 'ñ$ߤ*>;''<’', 'ñ$ߤ*>;''<’');
    SELECT tclob, tnclob FROM dummy;

我的问题是'ñ'和'''字符存储为问号。我也尝试通过JAVA加载以前插入的值,但是我得到的是问号而不是特殊字符。

我创建了一个小的Java方法,该方法使用OraclePreparedStatement保存测试数据,并使用setNString()方法将nclob数据附加到查询中。在这种情况下,所有字符都可以在Java和SqlDeveloper中正常显示。

因此,一种可能的解决方案是使用JAVA将我的数据保存到db中。我有数千行插入数据的SQL脚本,我不一定要用Java再次编写整个内容。

所以问题是:为什么SqlDeveloper会打破特殊字符?

我的设置:

    SELECT DECODE(parameter, 'NLS_CHARACTERSET', 'CHARACTER SET',
    'NLS_LANGUAGE', 'LANGUAGE',
    'NLS_TERRITORY', 'TERRITORY') name,
    value from v$nls_parameters
    WHERE parameter IN ( 'NLS_CHARACTERSET', 'NLS_LANGUAGE', 'NLS_TERRITORY')

结果:

+---------------+--------------+
|     NAME      |    VALUE     |
+---------------+--------------+
| LANGUAGE      | HUNGARIAN    |
| TERRITORY     | HUNGARY      |
| CHARACTER SET | EE8ISO8859P2 |
+---------------+--------------+

我更改SqlDeveloper/Preferences/Environment/EncodingUTF-8我也将HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1更改HUNGARIAN_HUNGARY.UTF8

更新:我尝试使用以下语法插入数据:

    INSERT INTO dummy (id, tclob, tnclob) VALUES (1, N'ñ$ߤ*>;''<’', N'ñ$ߤ*>;''<’');
    INSERT INTO dummy (id, tclob, tnclob) VALUES (1, 'ñ$ߤ*>;''<’', to_nclob('ñ$ߤ*>;''<’'));

没有任何帮助。

那我该怎么办?

莫森·海达里(Mohsen Heydari)

在安装了PLSQL的PC上,将NLS_LANG注册条目的值设置为等于PC的operation system locale (code page)等效值。

如何检测操作系统的语言环境?
如何将操作系统语言环境映射到NLS_LANG值?

使用PLSQL时,将从NLS_LANG注册表项中读取创建Oracle会话所需的客户端语言的初始参数。

由于Oracle文档的缘故,数据库中通常会出现无效数据,因为在客户端上未正确设置NLS_LANG参数。NLS_LANG值应反映客户端操作系统代码页
例如,在英语Windows环境中,代码页为WE8MSWIN1252。正确设置NLS_LANG参数后,数据库可以自动将来自客户端操作系统的传入数据转换为其编码。

当使用JAVA方法时,client-language参数由“控制面板”中“区域和语言选项”下的值设置,因此一切正常。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL [Oracle]:计算具有相同客户端ID的先前记录的数量

来自分类Dev

在Oracle SQL中根据重叠的日期范围连接客户端记录

来自分类Dev

等待“来自客户端的SQL * Net消息”事件的无法杀死的Oracle会话

来自分类Dev

SQL [Oracle]:计算具有相同客户端ID的先前记录的数量

来自分类Dev

Oracle Apex与Oracle SQL Developer

来自分类Dev

Oracle客户端,即时客户端和ODAC

来自分类Dev

ORACLE SQL Developer(查询)

来自分类Dev

Oracle SQL Developer更新

来自分类Dev

Oracle SQL Developer(4.0.0.12)

来自分类Dev

安装Oracle SQL Developer

来自分类Dev

将 JDBC Java 客户端连接到本地主机上的 SQL Developer

来自分类Dev

“ MariaDB与许多客户端一起将Microsoft SQL和Oracle迁移到MariaDB的含义”

来自分类Dev

如果不是 ODBC,mysql、postgresql 和 Oracle sql 对它们的命令行客户端使用什么?

来自分类Dev

Mac上的Oracle Sqlplus客户端

来自分类Dev

如何卸载Oracle客户端?

来自分类Dev

Oracle SQL Developer无法启动

来自分类Dev

Oracle SQL Developer:计划作业

来自分类Dev

Netezza SQL查找客户端IP

来自分类Dev

SQL查找全新的客户端

来自分类Dev

Flask在客户端使用SQL查询

来自分类Dev

Oracle SQL Developer PL / SQL返回数组

来自分类Dev

要使用C#客户端,我需要安装Oracle客户端吗?

来自分类Dev

如何在不同客户端的不同范围内获取 SQL-oracle 中两个日期之间的所有月份

来自分类Dev

Oracle 12c客户端安装程序错误

来自分类Dev

Oracle会话由不同的Web客户端共享-Weblogic

来自分类Dev

Oracle 12c客户端安装程序错误

来自分类Dev

如何在 cPanel 上安装 Oracle 客户端库

来自分类Dev

在Oracle SQL Developer 1.5中打印Oracle Sys_refcursor

来自分类Dev

ORACLE SQL DEVELOPER无法看到全部视图

Related 相关文章

  1. 1

    SQL [Oracle]:计算具有相同客户端ID的先前记录的数量

  2. 2

    在Oracle SQL中根据重叠的日期范围连接客户端记录

  3. 3

    等待“来自客户端的SQL * Net消息”事件的无法杀死的Oracle会话

  4. 4

    SQL [Oracle]:计算具有相同客户端ID的先前记录的数量

  5. 5

    Oracle Apex与Oracle SQL Developer

  6. 6

    Oracle客户端,即时客户端和ODAC

  7. 7

    ORACLE SQL Developer(查询)

  8. 8

    Oracle SQL Developer更新

  9. 9

    Oracle SQL Developer(4.0.0.12)

  10. 10

    安装Oracle SQL Developer

  11. 11

    将 JDBC Java 客户端连接到本地主机上的 SQL Developer

  12. 12

    “ MariaDB与许多客户端一起将Microsoft SQL和Oracle迁移到MariaDB的含义”

  13. 13

    如果不是 ODBC,mysql、postgresql 和 Oracle sql 对它们的命令行客户端使用什么?

  14. 14

    Mac上的Oracle Sqlplus客户端

  15. 15

    如何卸载Oracle客户端?

  16. 16

    Oracle SQL Developer无法启动

  17. 17

    Oracle SQL Developer:计划作业

  18. 18

    Netezza SQL查找客户端IP

  19. 19

    SQL查找全新的客户端

  20. 20

    Flask在客户端使用SQL查询

  21. 21

    Oracle SQL Developer PL / SQL返回数组

  22. 22

    要使用C#客户端,我需要安装Oracle客户端吗?

  23. 23

    如何在不同客户端的不同范围内获取 SQL-oracle 中两个日期之间的所有月份

  24. 24

    Oracle 12c客户端安装程序错误

  25. 25

    Oracle会话由不同的Web客户端共享-Weblogic

  26. 26

    Oracle 12c客户端安装程序错误

  27. 27

    如何在 cPanel 上安装 Oracle 客户端库

  28. 28

    在Oracle SQL Developer 1.5中打印Oracle Sys_refcursor

  29. 29

    ORACLE SQL DEVELOPER无法看到全部视图

热门标签

归档