修改oracle客戶端字符集

2022-02-23 11:58:14 字數 582 閱讀 1347

當本機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

切換 ORACLE 客戶端字符集

切換 oracle 客戶端字符集 database characterset al32utf8 and client character set zhs16gbk are different.character setconversion may cause unexpected results.n...

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

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

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

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