加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

切换 ORACLE 客户端字符集

发布时间:2020-12-12 15:31:54 所属栏目:百科 来源:网络整理
导读:切换 ORACLE 客户端字符集 如果我们需要连接不同的数据库,而这些数据库又有不同的字符集,在登录 plsql developer 时会有提示: Database characterset (AL32UTF8) and Client character set (ZHS16GBK) are different. Character setconversion may cause

切换 ORACLE 客户端字符集


如果我们需要连接不同的数据库,而这些数据库又有不同的字符集,在登录 plsql developer 时会有提示:

Database characterset (AL32UTF8) and Client character set (ZHS16GBK) are different.

Character setconversion may cause unexpected results.

Note: you can set theclient character set through the NLS_LANG environment variable or the NLS_LANGregistry key in

HKEY_LOCAL_MACHINESOFTWAREOracleKEY_OraClient11g_home1

好像环境变量的优先级要高于注册表。

当然,环境变量实际上也是注册表,即:

HKLMSYSTEMCurrentControlSetControlSessionManagerEnvironment

@echo off

for /f"tokens=1* delims= " %%1 in('reg query "HKLMSYSTEMCurrentControlSetControlSessionManagerEnvironment" /v NLS_LANG^|findstr /i "REG_SZ" ') do setcharset=%%~1

if"%charset%"=="NLS_LANG REG_SZ SIMPLIFIED CHINESE_CHINA.ZHS16GBK" (

echo %charset%

reg ADD"HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment"/v NLS_LANG /t REG_SZ /d "SIMPLIFIED CHINESE_CHINA.AL32UTF8" /f

) ELSE (

echo %charset%

reg ADD"HKLMSYSTEMCurrentControlSetControlSession ManagerEnvironment"/v NLS_LANG /t REG_SZ /d "SIMPLIFIED CHINESE_CHINA.ZHS16GBK" /f

)

这只是示例,最终要以服务器上的字符集为准。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读