現象:使用sqlplus執行指令碼,在對中文進行資料庫插入的時候,出現【??????】。
原因:sqlplus亂碼與作業系統使用者中的nls_lang這個環境變數有關係,如果這個與資料庫字符集不一致的話就會產生亂碼。
解決辦法:
參考文章:
1、如何檢視資料庫字符集:
通過nls_database_parameters查詢
col parameter for a30
col value for a25
select * from nls_database_parameters;
2、nls_characterset對應的【zhs16gbk】即為資料庫使用的字元格式,其對應的nls_lang為【simplified chinese_china.zhs16gbk】。
3、開啟登錄檔進行修改
win+r快捷鍵》--regedit>>hkey_locl_machine>>software>>oralce>>homexx
將nls_lang的值設定為simplified chinese_china.zhs16gbk
4、如果新建資料庫時字元編碼不是
【zhs16gbk】等,導致出現了亂碼,需要重新設定編碼集。
具體參照另外一篇部落格:
sqlplus中如何插入blob資料
在internal這個使用者下給scott使用者授權如下 sql grant create any directory to scott sql grant create any library to scott 在scott這個使用者下執行下述語句 sql create table bfile t...
sqlplus使用教程
sqlplus基本概念 oracle的sqlplus是與oracle資料庫進行互動的客戶端工具,借助sqlplus可以檢視 修改資料庫記錄。在sqlplus中,可以執行sqlplus命令與sql語句。sqlplus是oracle原始資料操作的客戶端,這種命令列的格式有著強大的邏輯性,如果經常使用會對...
Sqlplus使用隨筆
摘要 本編隨筆不定時更新,記錄在使用sqlplus中遇到的問題,提供簡短的解決思路,留作參考。符號解釋 q 出現的問題 e 問題出現所在的環境 t 記錄時間 a 問題解答 q linux終端下sqlplus登陸的是哪個sid e vmware workstation 8,centos6.3 x64 ...