使用plsql developer Version 8.0.3.1510 向数据库中插入数据cny,数据类型为 NVARCHAR2(3),插入后用select查出,显示为cn,少掉一个y,不知何原因,我的本地字符集是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,服务器的数据库字符集为AL32UTF8,和字符有关吗?是自动当做币种转换了吗?40分,谢谢cn 变 cny

解决方案 »

  1.   

    按理说插入的是英文,怎么也会不会被截取啊
    试查看下你刚插入字段的长度
    select length(col) from table
      

  2.   

    是三,另外我用select to_char(col_name) from table_name;查出来的就是cny
      

  3.   

    需要设置 NLS_NCHAR 环境变量或 alter session set nls_nchar=  修改 session 参数。
      

  4.   

    这说的NLS_NCHAR是指NLS_NCHAR_CHARACTERSET是吗?我想问一下这个session值取什么?另外我客户端字符集和服务器字符集不一样,我应该把NLS_NCHAR_CHARACTERSET改成哪一个呢?
      

  5.   

    看看这里是否有帮助:
    Oracle 全球化特性与字符集
      

  6.   

    你的数据库字符集应该没问题,客户端字符集的问题,你的字段是NVARCHAR2,所以用的是AL32UTF8,你将客户端字符集改成这个试试看一般这种问题都是处在字符集上,尤其是客户端字符集,如果是secureCRT等工具,可以尝试将工具的编码方式改成无
      

  7.   


    有点帮助,不过还是没解决,我只能重装了一下plsql Developer,好是好了,不过完全不知道为什么