用plsql工具连接数据库服务器后查询的字符集不是服务器字符

用plsql工具连接数据库服务器后查询的字符集不是服务器字符,第1张

1、PL/SQL工具本身的字符集不正确,导致查询显示的字符集有误。可以查看PL/SQL工具的设置,确认其字符集是否正确。

2、数据库服务器的字符集与客户端不一致。可以在连接数据库时指定字符集,或者在客户端修改环境变量或注册表信息以更改默认字符集。

3、在进行查询前未设置NLS_LANG参数或者设置错误。可以在PL/SQL工具中执行“SELECT、FROM NLS_DATABASE_PARAMETERS”命令,查看NLS_LANG参数值是否正确。

A、oracle server 端字符集查询

select userenv('language') from dual

其中NLS_CHARACTERSET 为server端字符集

NLS_LANGUAGE 为 server端字符显示形式

B、查询oracle client端的字符集

$echo $NLS_LANG

如果发现你select 出来的数据是乱码,请把client端的字符集配置成与linux *** 作系统相同的字符集。如果还是有乱码,则有可能是数据库中的数据存在问题,或者是oracle服务端的配置存在问题。

C、server端字符集修改

将数据库启动到RESTRICTED模式下做字符集更改:

SQL>conn /as sysdba  Connected.

SQL>shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

如果发现你select 出来的数据是乱码,请把client端的字符集配置成与linux *** 作系统相同的字符集。如果还是有乱码,则有可能是数据库中的数据存在问题,或者是oracle服务端的配置存在问题。

. 1.oracle server端字符集查询        复制代码代码如下:    select userenv('language') from dual    server字符集修改:    将数据库启动到RESTRICTED模式下做字符集更改:&??

oracle10g服务器端是安装在AIX 6.0系统上,客户端是安装在windows server 2008 系统上,客户端与服务器已成功连接,但是数据库表里的中文字无法显示,显示为“?”,用SQLPLUS查得服务器端的字符集为AL16uTF16,如何修改该字符集使之支持中文呢?另外oracle10G客户端的字符集需不需要设置,如何查看和设置呢?


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9568007.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存