如何查看和修改Oracle数据库服务器端的字符集?

如何查看和修改Oracle数据库服务器端的字符集?,第1张

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客户端的字符集需不需要设置,如何查看和设置呢?

方法/步骤

1

确保本机上安装plsql软件,例如安装路径为:D:\Program Files\PLSQL Developer\,如果没有软件安装程序请打开百度搜索plsql下载

2

首先可以通过执行以下sql,查看oracle服务器字符集,

select * from nls_database_parameters或者select userenv('language') from dual

可以看到内容如下:

NLS_LANGUAGE:SIMPLIFIED CHINESE

NLS_TERRITORY:CHINA

NLS_CHARACTERSET:ZHS16GBK,表示语言oracle数据库服务器语言为简体中文,地区为中国,字符集为ZHS16GBK

3

由于oracle客户端在获取字符集设置信息时的优先级顺序依次为:session、环境变量、注册表、参数文件,因此可以通过设置这些位置实现客户端字符集设置的目的,因此本文采用设置session的方法,设置NLS_LANG变量值,从而覆盖所有设置值。

4

新建一个bat文件,命名为plsqlgbk.bat,内容如下:

set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK"D:\Program Files\PLSQL Developer\plsqldev.exe"

5

以后运行plsql程序时直接打开此bat即实现自动设置NLS_LANG变量后启动plsql应用程序,当然如果需要修改客户端的其他设置也可根据此方法修改内容即可,个人认为此方法使用非常方便有效。

END

注意事项

此方法与现有的oracle客户端设置并不冲突,只是会覆盖现有设置信息


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/328842.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存