我定义的表里有两个字段 a  b 其实a 是 直接 insert into table select a from hh;b 则是后面 update table set b = (select e from dd;)PL/SQL 查询 select a,b from table  都能显示出:  身份证我的JAVA程序里  取出来的时候  a 字段还是身份证  b字段 就变成乱码了.. 进行了GBK的转码还是不行进去后台用 dump(a,1016)查看 后台存储a 、b 两个字段 存储的完全一样 Typ=1 Len=6 CharacterSet=US7ASCII: c9,ed,b7,dd,d6,a4为什么后台存储完全一样的字段,一个select  a,b from table 取出来 a,b会不同呢?不明白。  数据库端和客户端的 nls_lang 都是 us7ascii取出的a字段 在经过iso转GBK的转码 就可以正常显示.. b字段转码前输出是 ?í·??¤    转码后输出是 ???求达人解惑