为什么我的数据库(CentOS4.7+Oracle10gr2)的表里只能插入最多两个中文字符啊??表结构:
           Name                                           Null?    Type
           ----------------------------------------- -------- ----------------------------
           KK                                                    VARCHAR2(20)插入语句:
            SQL> insert into testt values('哈哈哈');
            ERROR:
            ORA-01756: quoted string not properly terminated            SQL> insert into testt values('哈哈');
            1 row created.
插入3个中文字符失败,插入2个中文字符成功!!显示中文一点问题都没有,没有乱码问题!!

解决方案 »

  1.   

    quoted string not properly terminated
    (被引用的字符没有合适的结束)
    你的表结构有几个字段呀,我的用同样的方法,是可以把信息完整的写入数据库的。
    最好把要插入的字段写上去。
      

  2.   

    quoted string not properly terminated
    (被引用的字符没有合适的结束)
    你的表结构有几个字段呀,我的用同样的方法,是可以把信息完整的写入数据库的。
    最好把要插入的字段写上去。
      

  3.   

    不存在吧?一个中文最多占3个字节啊。你这里20,最少可以插6个啊。
    你把表重建一下看看?
    drop table testt;
    create table testt(kk varchar2(20 char));
    再插入试试看?
    另外,你的字符集是什么?看看
    select userenv('language') from dual;
      

  4.   

    我按你说的做了,还是那个错误
    1、重建了一个表
    2、
      USERENV('LANGUAGE')
      ----------------------------------------------------
      SIMPLIFIED CHINESE_CHINA.ZHS16GBK还有我在Oracle用户下看了一下环境变量,内容如下:
    [oracle@GQ ~]$ env | grep LANG
    NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    LANG=zh_CN.UTF-8难道是我的本机字符集有问题,我修改了一下本机的字符集密令如下:
    [oracle@GQ ~]$ export LANG=zh_CN.UTF-16[oracle@GQ ~]$ env | grep LANG
    NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    LANG=zh_CN.UTF-16然后我一次插入(胆战心惊..),结果是当插入偶数个'哈'时可以插入,当插入奇数数个'哈'时不可以插入,郁闷啊!!!!!
     
      

  5.   

    LANG=zh_CN.UTF-16 
    改成GBK呢?unix还是linux,不是很明白
      

  6.   

    CentOS4.7啊。。
    我的意思是:是不是我的数据库字符集和客户端字符集不同造成的?
      

  7.   

    可能是第三方工具的问题,用sqlplus执行试试
      

  8.   

    dump分析一下有什么差别 select trim('哈哈'),dump('哈哈'),lengthb('哈哈')    from dual 
     union all
     select trim('哈哈哈'),dump('哈哈哈'),lengthb('哈哈哈')    from dual;
      

  9.   

    我刚才突然插入进去了代码为:insert into testt values('哈哈哈 ');
    我在“哈哈哈”后面加了一个空格就行了,然后我又继续瞎插 ,发现只要在“哈哈哈”后面不直接加单引号就可以插入。
    悲剧啊!!!!!!!!!!!!!!!!! 我设的字符集应该没问题啊、、、、
      

  10.   

    select * from nls_database_parameters
    where parameter='NLS_CHARACTERSET';
      

  11.   

    还有oracle账号下的NLS_LANG变量值什么?
      

  12.   

    嘿嘿。。大家好!我的问题解决了,主要就是编码的问题。
    因为我安Oracle时选的是SIMPLIFIED CHINESE_CHINA.ZHS16GBK字符集,也就是GBK系列的字符集,
    而我默认的字符集是UTF-8的所以会出现插入不进去。解决方法有两种
    1、在中端输入: export LANG=GBK
    2、在中端的菜单依此选择:终端->设置字符编码-》简体中文(GBK)再次感谢大家的帮助,主要是我手笨一直把LANG=zh_CN.GBK,其实crazylaa分析的一点也没有问题。