Oracle 到 csv 导出 - HTML 个字符实体
Oracle to csv export - HTML characters entities
我正在 Oracle 中处理导出过程。 table中存储了特殊字符,如É、é、ë等。当我导出这些字符时,如何转换为原始值?
我正在使用 UTL_FILE 函数导出到 csv。程序是,
PROCEDURE PROC_FILE_WRITE_TEST(p_dir IN VARCHAR2,p_filename IN VARCHAR2)
IS
v_fh utl_file.file_type;
c NUMBER;
d NUMBER;
v_ret NUMBER;
col_cnt INTEGER;
rec_tab DBMS_SQL.DESC_TAB;
BEGIN
v_fh := utl_file.fopen(p_dir, p_filename, 'W' ,32767 );
c := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(c, 'query here', DBMS_SQL.NATIVE);
DBMS_SQL.DESCRIBE_COLUMNS(c, col_cnt, rec_tab);
d := DBMS_SQL.EXECUTE(c);
LOOP
v_ret := DBMS_SQL.FETCH_ROWS(c);
EXIT WHEN v_ret = 0;
UTL_FILE.NEW_LINE(v_fh, 1);
FOR j in 1..col_cnt
LOOP
UTL_FILE.PUT(v_fh,v_v_val||'|');
END LOOP;
END LOOP;
DBMS_SQL.CLOSE_CURSOR(c);
UTL_FILE.FCLOSE(v_fh);
END PROC_FILE_WRITE_TEST;
以下为示例。
Table数据:
Café and bars
CSV:
Café and bars
你几乎不提供任何信息,很难帮到你。但是,UNESCAPE_REFERENCE 可能会对您有所帮助。
select UTL_I18N.UNESCAPE_REFERENCE ( 'Café and bars') as txt
from dual;
TXT
=====================
Café and bars
我正在 Oracle 中处理导出过程。 table中存储了特殊字符,如É、é、ë等。当我导出这些字符时,如何转换为原始值?
我正在使用 UTL_FILE 函数导出到 csv。程序是,
PROCEDURE PROC_FILE_WRITE_TEST(p_dir IN VARCHAR2,p_filename IN VARCHAR2)
IS
v_fh utl_file.file_type;
c NUMBER;
d NUMBER;
v_ret NUMBER;
col_cnt INTEGER;
rec_tab DBMS_SQL.DESC_TAB;
BEGIN
v_fh := utl_file.fopen(p_dir, p_filename, 'W' ,32767 );
c := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(c, 'query here', DBMS_SQL.NATIVE);
DBMS_SQL.DESCRIBE_COLUMNS(c, col_cnt, rec_tab);
d := DBMS_SQL.EXECUTE(c);
LOOP
v_ret := DBMS_SQL.FETCH_ROWS(c);
EXIT WHEN v_ret = 0;
UTL_FILE.NEW_LINE(v_fh, 1);
FOR j in 1..col_cnt
LOOP
UTL_FILE.PUT(v_fh,v_v_val||'|');
END LOOP;
END LOOP;
DBMS_SQL.CLOSE_CURSOR(c);
UTL_FILE.FCLOSE(v_fh);
END PROC_FILE_WRITE_TEST;
以下为示例。
Table数据:
Café and bars
CSV:
Café and bars
你几乎不提供任何信息,很难帮到你。但是,UNESCAPE_REFERENCE 可能会对您有所帮助。
select UTL_I18N.UNESCAPE_REFERENCE ( 'Café and bars') as txt
from dual;
TXT
=====================
Café and bars