切换 ORACLE 客户端字符集

切换 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_MACHINE\SOFTWARE\Oracle\KEY_OraClient11g_home1

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

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

HKLM\SYstem\CurrentControlSet\Control\SessionManager\Environment

@echo off

for /f"tokens=1* delims= " %%1 in('reg query "HKLM\SYstem\CurrentControlSet\Control\SessionManager\Environment" /v NLS_LANG^|findstr /i "REG_SZ" ') do setcharset=%%~1

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

echo %charset%

reg ADD"HKLM\SYstem\CurrentControlSet\Control\Session Manager\Environment"/v NLS_LANG /t REG_SZ /d "SIMPLIFIED CHInesE_CHINA.AL32UTF8" /f

) ELSE (

echo %charset%

reg ADD"HKLM\SYstem\CurrentControlSet\Control\Session Manager\Environment"/v NLS_LANG /t REG_SZ /d "SIMPLIFIED CHInesE_CHINA.ZHS16GBK" /f

)

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

相关文章

Java Oracle 结果集是Java语言中处理数据库查询结果的一种方...
Java AES和Oracle AES是现代加密技术中最常使用的两种AES加密...
Java是一种广泛应用的编程语言,具备可靠性、安全性、跨平台...
随着移动互联网的发展,抽奖活动成为了营销活动中不可或缺的...
Java和Oracle都是在计算机领域应用非常广泛的技术,他们经常...
Java 是一门非常流行的编程语言,它可以运行于各种操作系统上...