Oracle для экспорта в CSV - объекты HTML символов - PullRequest
0 голосов
/ 03 июля 2018

Я работаю над процедурой экспорта в Oracle. В таблице хранятся специальные символы, такие как & # 201, & # 233, & # 235 и т. Д. Когда я экспортирую эти символы, как преобразовать их в исходное значение?

Я использую функции 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;

Ниже приведен пример.

Данные таблицы:

Café and bars

CSV:

Кафе и бары

1 Ответ

0 голосов
/ 03 июля 2018

Вам трудно помочь, поскольку вы вряд ли предоставите какую-либо информацию. Однако UNESCAPE_REFERENCE может вам помочь.

select UTL_I18N.UNESCAPE_REFERENCE ( 'Café and bars') as txt 
from dual;

TXT
=====================
Café and bars
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...