切換 ORACLE 客戶端字符集

2021-07-25 15:29:44 字數 1141 閱讀 8539

切換 oracle 客戶端字符集

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

這只是示例,最終要以伺服器上的字符集為準。

《切換 ORACLE 客戶端字符集 》補充

切換 oracle 客戶端字符集 補充 1 儘管兩端的字符集不同,al32utf8 有可能是會自動轉換成 zhs16gbk 的,因此,可以不必計較這個提示,只要能生成使用就可以。2 有可能轉換以後,反而客戶端就不正常了。3 執行這個批處理以後,並不會立即生效。通常需要重啟系統,才會使環境變數的修改生...

修改oracle客戶端字符集

當本機oracle設定的字符集與伺服器端的字符集不一致時,非英文本元會變成亂碼,以下是解決方案 1,檢視伺服器和本地客戶端的字符集 其實檢視伺服器的就可以了 資料庫伺服器字符集select from nls database parameters,其 於props 是表示資料庫的字符集。客戶端字符集...

oracle 需要設定字符集客戶端與服務端相同

system.environment.setenvironmentvarible nls lang simplified chinese china.zhs16gbk windows 提供了api函式setenvironmentvariable,不過這個函式只能修改當前程序的環境變數,而不能修改其他...