oracle insert中文數據,查詢出現亂碼問題解決

創建t_gtype表:

SQL> create table t_gtype(
  2  gtid char(6) primary key,
  3  gtname varchar2(20) not null
  4  );

 

插入數據:

SQL> insert into t_gtype values('T00001','日常百貨');

 

查詢數據中文顯示亂碼:

 

SQL> select * from t_gtype;

GTID   GTNAME
------ --------------------

T00001 ????????

 

查詢數據庫服務端字符集:

SQL> select * from v$nls_parameters;

NLS_DATE_LANGUAGE
SIMPLIFIED CHINESE

NLS_CHARACTERSE
ZHS16GBK

 

服務端字符集爲中文字符集,猜測客戶端字符集問題,退出sql,設置客戶端字符集:

[oracle@apex ~]$  export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

 

進入sql,重新插入數據:

SQL> insert into t_gtype values ('T00002','兒童用品');

 

查詢數據顯示,更改客戶端字符集後插入的中文正常顯示,但之前插入的仍顯示爲亂碼:

 

SQL> select * from t_gtype;

GTID   GTNAME
------ --------------------
T00001 ????????

T00002 兒童用品

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章