修改oracle客户端字符集

当本机oracle设置的字符集与服务器端的字符集不一致时,非英文字符会变成乱码,以下是解决方案:

1,查看服务器和本地客户端的字符集(其实查看服务器的就可以了)

数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。
客户端字符集环境select * from nls_instance_parameters,其来源于v$parameter,

根据数据库服务器字符集的结果找到NLS_CHARACTERSET这条记录,记录下value值,比如为:US7ASCII

2,从注册表的HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\键下选择名字有home的键,比如KEY_OraDb10g_home1,查找NLS_LANG子键,
其键值可能为SIMPLIFIED CHINESE_CHINA.ZHS16GBK之类的,这时候注意oracle字符集的设置与语言无关,只需要更改字符集编码即可
所以根据上面得到的结果值直接替换掉ZHS16GBK即可,为SIMPLIFIED CHINESE_CHINA.US7ASCII

原文地址:https://www.cnblogs.com/walkerwang/p/2322732.html