Oralce Plsql 中文顯示亂碼問題無需修改注冊表完美解決


此方法在其它版系統也可以解決

win10-64

plsql

oracle 11g綠色版客戶端

錯誤現象:

 

因為oracle用的是綠色版,無法設置注冊表,嘗試以下方法。

解決方法:

1、在plsql中查詢oracle服務端默認語言

select * from v$nls_parameters t where t.PARAMETER ='NLS_LANGUAGE' or t.PARAMETER ='NLS_CHARACTERSET';

-----------------------------------------------------------

select * from nls_session_parameters;

-----------------------------------------------------------

select * from nls_database_parameters;

這里的NLS_LANGUAGE=AMERICAN不會影響中文顯示

-------------------------------------------------------------

常用語言字符查詢SQL

select * from v$nls_parameters t where t.PARAMETER ='NLS_LANGUAGE' or t.PARAMETER ='NLS_CHARACTERSET';
select * from nls_session_parameters;
select * from nls_database_parameters;
select * from nls_instance_parameters;

 

2、在PLSQL Developer目錄下新建一bat文件 ,內容如下:

@echo off
set path=D:\oracle\product\instantclient_11_2
set ORACLE_HOME=D:\oracle\product\instantclient_11_2
set TNS_ADMIN=D:\oracle\product\instantclient_11_2
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
start plsqldev.exe

運行bat文件時,打開plsql再次查詢數據時正常。

但是遇到問題,從plsqldev.exe打開plsql時查詢再次出現亂碼問題。

分析:執行bat文件啟動plsql時重新設置了數據庫字符集。

最終解決方法:將bat文件中的設置全部添加到計算機的“系統變量”中。

驗證

將上面bat文件中的設置添加到“系統變量”后,重新啟動plsql查詢出中文顯示正常。

 

注意:bat文件中set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK與在plsql中查詢oracle服務端默認語言是否一致。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM