我正在尝试在其他PC上创建开发环境。安装Oracle Client 19,PL/SQL Developer。
下面是来自服务器的nls_parameters:
因此,我在注册表中的客户端上设置了NLS_LANG
:
但是,我仍然在PL/SQL Developer中得到了废话:
在sqlplus中:
SQL> select * from adm_org;
ORG_ID
----------
ORG_NAME
--------------------------------------------------------------------------------
ORG_FULL_NAME
--------------------------------------------------------------------------------
1
─σ≡µαΓφΦΘ ßε≡π
╙∩≡αΓδ│φφ Σσ≡µαΓφΦ∞ ßε≡πε∞
2
╠╘╬ ≥α ╠╥─
╙∩≡αΓδ│φφ ╠╘╬ ≥α Ωεε≡ΣΦφα÷│ ╠╥─
然后我尝试了SQL Developer,它是成功的。但是SQL Developer使用单独的客户端连接到Oracle。它似乎使用了Cp 1252。Supported character sets只有WE 8 MSWIN 1252,它没有解决这个问题。
我错过了什么?客户端和服务器端的字符集应该相同吗?我以前从来没有遇到过这样的问题,所有的问题都是通过设置NLS_LANG来解决的。
1条答案
按热度按时间bweufnob1#
SQL Developer是一个基于Java/JDBC的客户端,它不使用
NLS_LANG
设置。PL/SQL Developer我不知道,看看设置。
sqlplus
继承命令行中的字符集。试试这个不需要在数据库和客户端上具有相同的字符集(尽管使它们相同是一个好主意)。重要的是
NLS_LANG
值声明了客户端使用的真实的字符集。客户端字符集应该支持数据库支持的所有字符。另请参阅OdbcConnection返回中文字符为“?“