解決pl/sql developer中資料庫插入資料亂碼問題

leadlrc發表於2020-11-04

最近學習SSM專案開發,用到oracle資料庫,

使用管理軟體PL/sql developer往資料庫表中插入資料時記錄亂碼。

 

 

 結果如下:

可以看到中文資料都亂碼成了???????問號,

 

看了網上各位大佬的解決辦法,說是由於oracle伺服器端字元編碼 和 Oracle 客戶端字元編碼不一致引起的。

(但是我的oracle伺服器端 和 Oracle 客戶端字元編碼是一樣的,這就很納悶了,但同樣用了以下解決辦法,搞定!!!)

第一步:

登入PL/sql developer,檢查Oracle伺服器端字元編碼,用

 

select userenv('language') from dual;

得到以下結果:

結果:

 

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

 

第二步:

檢視Oracle 客戶端字元編碼,用

 

select * from V$NLS_PARAMETERS;

 

得到以下結果:

 

 可以看到我的oracle伺服器端 和 Oracle 客戶端字元編碼是一樣的,沒關係繼續往下看

 

 

 

第三步:

 

在windows中創 建一個名為“NLS_LANG”的系統環境變數,

設定其值為“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,跟oracle伺服器端字元編碼一致,然後重新啟動 pl/sql developer

 

 

 即可解決亂碼問題!!!

 

 

 

 

 

 

補充1:(問題解決可忽略以下內容)

跟我有同樣問題的同學完成上面的步驟後,重新登入PL/Sql developer資料還是顯示亂碼。

然後的解決辦法是:

把表刪除,注意是刪表,而不是單單刪除表中資料,

然後重新建表,重新插入資料,發現問題解決!!!

補充2:因為是用idea做開發,所以是直接用idea中database連線資料庫,然後重新建表,插入的資料,

直接用PL/Sql developer沒試過,應該也可以。

 

 

相關文章