注册表中nls_lang误删了,怎么重新加入,以及如何修改客户端字符集

时间:2024-03-31 15:41:59

删掉的重新输入

微软搜索栏输入regedit,打开注册表,在\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE下右键新建字符串集,新建NLS_LANG机码,双击打开,输入值SIMPLIFIED CHINESE_CHINA.ZHS16GBK

 

注册表中nls_lang误删了,怎么重新加入,以及如何修改客户端字符集

如何修改?

如简体系统为:ZHS16GBK,繁体系统为:MSWIN950。可见,Oracle Client(以下简称NLS_LANG)在安装过程中选择了OS的字符集作为默认的NLS_LANG字符集。设定NLS_LANG有三种方法: a) 修改注册表:将HKLOCAL_MACHINE\SOFTWARE\ORACLE\KEY_ORACLECLENT_HOME1\下NLS_LANG键值改为你要设定的字符集,如将SIMPLIFIED CHINESE_CHINA.ZHS16GBK改为:SIMPLIFIED CHINESE_CHINA.AL32UTF8。这种做法如果无效,即使重新启动机器后,也没有生效,NLS_LANG仍使用当初安装时的OS字符集,就试用第个方法。 b) 设定环境变量:在My Computer->Properties->Advanced->Environment Variables->System Variables 新增环境变量设置,如:Variable name=NLS_LANG,Variable Value= SIMPLIFIED CHINESE_CHINA.AL32UTF8。这样NLS_LANG字符集为UTF8,这个NLS_LANG优先序高于注册表中的NLS。注意:环境变量设在系统变量中(System Vairables),而不是用户变量(User Vairables)。 c) 在应用程序运行的Process Session中设定:在程序运行之前,先通过set NLS_LANG=进程Session的字符集。例如:Echo %nls_lang%,在这个session中,已经设定NLS_LANG字符集为ZHS16GBK。同样,你也可以新开一个CMD窗口,设定另一种NLS_LANG字符集。这种在session中设定NLS_LANG的优先序高于系统环境变量NLS_LANG。