最近學習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沒試過,應該也可以。

到此這篇關于解決pl/sql developer中數據庫插入數據亂碼問題的文章就介紹到這了,更多相關pl/sql 插入數據亂碼內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- PL/SQL Developer過期的兩種解決方法
- 詳解PL/SQL Developer連接本地Oracle 11g 64位數據庫
- 使用PL/SQL Developer連接Oracle數據庫的方法圖解
- 解析PL/SQL Developer導入導出數據庫的方法以及說明
- PL/SQL DEVELOPER 使用的一些技巧
- Oracle中在pl/sql developer修改表的2種方法