使用Utl_file的Oracle UTF8文件编码

问题描述

我想将文件导出为UTF8编码。 当我检查v $ nls_parameters时,nls_characterset是WE8ISO8859P9。所以我文件的编码是Ansii。

如何在不更改v $ nls_parameters的情况下以UTF8编码导出文件?

DECLARE
 v_os_touch_file                  utl_file.file_type;
 p_in_file                        VARCHAR2(50);
BEGIN
    v_os_touch_file := NULL;
    p_in_file := NULL;

    p_in_file := 'my_file_' || sysdate;
    v_os_touch_file := utl_file.fopen(my_path,p_in_file,'w');
    FOR i IN (
        SELECT
            *
        FROM
            my_table
    ) LOOP
    begin

        utl_file.put_line(v_os_touch_file,'TEST' );
        utl_file.put_line(v_os_touch_file,i.input);
         utl_file.fclose(v_os_touch_file);
END

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)