天天看点

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','儿童用品');

查询数据显示,更改客户端字符集后插入的中文正常显示,但之前插入的仍显示为乱码: