PL SQL Developer 中文字段顯示亂碼

2021-07-10 17:26:53 字數 1865 閱讀 6829

在資料表中插入一條資料,可以正常出入,但是當查詢顯示的時候,中文字元無法顯示出來,而是顯示的問號(???)

如執行以下**:

create table student(

sid number(10),

sname varchar2(20),

constraint student_sid_un unique(sid)

)

insert into student values(1,'張三');

執行成功後, 輸入select * from student 語句查詢時,1能正常顯示,sname 列的『張三』顯示為『???』。

是由於資料庫的編碼格式和pl/sql developer的編碼格式不統一造成的

(1)修改pl/sql developer 的編碼格式:

在windows,環境變數設定中,建立乙個名為「nls_lang」的系統環境變數,設定其值為「simplified chinese_china.zhs16gbk」,

然後重新啟動 pl/sql developer,這樣檢索出來的中文內容就不會是亂碼了。如果想轉換為utf8字符集,可以賦予「nls_lang」為 「american_america.utf8」,然後重新啟動 pl/sql developer。其它字符集設定也是一樣的。(我是使用的這種方法,修改後重啟pl/sql developer,能正常顯示中文字元)

(2)檢視和修改oracle資料庫字符集:

select userenv('language') from dual;

查詢結果:

simplified chinese_china.al32utf8
–修改oracle資料庫字符集:(在cmd命令視窗中輸入sqlplus)

sql> conn / as sysdba;

sql> shutdown immediate;

database closed.

database dismounted.

oracle instance shut down.

sql> startup mount;
oracle instance started.

total system global area 135337420 bytes

fixed size 452044 bytes

variable size 109051904 bytes

database buffers 25165824 bytes

redo buffers 667648 bytes

database mounted.

sql> alter system enable restricted session;
system altered.

sql> alter system set job_queue_processes=0;
system altered.

sql> alter system set aq_tm_processes=0;
system altered.

sql> alter database open;
database altered.

set internal_use ja16sjis;

sql> shutdown immediate;

sql> startup;

出現這種問題只要去修改其中乙個的編碼格式與另乙個一致就可以了,相對來說建立系統環境變數的方法更簡單一些

PLSQL Developer中的亂碼問題

換電腦安裝新的plsql developer,出現中文亂碼 1.首先在plsql developer中輸入並執行select userenv language from dual這條命令,會在輸出欄裡得到當前使用的字符集 編碼方式 並且對它進行複製。2.環境變數中的使用者變數中新建乙個變數名nls ...

PLSQL Developer遠端連線oracle

事情開始是我的一位同學在群裡的求教 今天自己配置遠端連線的時候遇到了很多問題,記錄下來,和其他oracle小白們分享,大俠勿噴!測試目的 從客戶機遠端連線oracle伺服器 測試前提 雙方機器必須ping通,我就用自己的虛擬機器測試了 伺服器端安裝了oracle 測試步驟 我這裡用的是精簡版,不用安...

PLSQL Developer多 表 查 詢

多 表 查 詢 表 查 詢就從多個表中獲取資料,那麼我們就會產生笛卡爾集,笛卡爾集會在這種條件下產生 1.省略連線條件2.連線條件無效3.所有表中的所有行互相連線,同時為了避免笛卡爾集,可以在 where 加入有效的連線條件。oracle 連線 在在 where 子句中寫入連線條件。在表中有相同列時...