ORACLE的字符串连接运算符||,连接中文和字母时乱码,比如'测试'||'test',这样就乱码,全是中文没有问题,这是怎么回事?要设置什么吗

解决方案 »

  1.   

    是用DBMS_OUTPUT.PUT_LINE的时候,在SQL语句中没有乱码
      

  2.   

    SQL> select '测试'||'test' xx from dual;XX
    --------
    测试testSQL> 没问题呀!
    可能你安装时没有选择默认的中文字符集
      

  3.   

    DBMS_OUTPUT.PUT_LINE('测试'||'test')这个乱码,
    SELECT没事,别人也说不乱码,我怎么就乱码,是哪里不对呀,中文字符集在数据库中存储都没有问题,只有在这个函数里会乱码,不知道怎么了
      

  4.   

    假设oradb原字符集为USASCII7,更改为ZHS16GBKsqlplus “/ as sysdba”SQL>startup mountSQL>alter system enable restricted session;SQL>alter system set job_queue_processes=0;SQL>alter database open;SQL>alter database character set ZHS16GBK;SQL>shutdownSQL>startup