请问 为什么我使用sys.utl_file.put_line输出字符,输出的全是口 这种乱码?

解决方案 »

  1.   

    输出代码片段:
        v_sql := 'insert into t_vgop_verfs '
                  ||'select '''|| v_datfilename || '''|| ''€''||' || v_file_size||'||''€''|| count(*) ||''€''||' || v_date ||'||''€''||to_char(sysdate,''yyyymmddhh24miss'') from '
                  ||'(select row_number() over(order by operatetime) as rm from '||v_tabname||' t ) where rm between 1+500000*('||v_fileindex||'-1) and 500000*'||v_fileindex;
            execute immediate v_sql;        -- create verf file
            v_file_handle1 := sys.utl_file.fopen('PATH', v_verffilename, 'w');
            open v_cursor for select fileinfo from t_vgop_verfs;
            fetch v_cursor into v_sql;
            while(v_cursor%found) loop
                sys.utl_file.put_line(v_file_handle1, v_sql);
                fetch v_cursor into v_sql;
            end loop;
            close v_cursor;
            sys.utl_file.fclose(v_file_handle1);输出后
         理论上每行应该是:值之间用‘€’符号分隔;
         实际输出:值输出正常 但是‘€’符号 全变成口了
      

  2.   

    自己顶下,弄一天了最新进展:发现存储过程中,一旦欧元符号€ 赋予给某个变量 就会变成乱码,求大侠们帮助http://hiphotos.baidu.com/egeg01/pic/item/9a467afec1aa151fd7887deb.jpg