Моя база данных (10gR2) однобайтная (NLS_CHARACTERSET = WE8DEC).
У меня есть XML-файл Unicode, который я хотел бы проанализировать. Если я прочитаю файл в CLOB и попытаюсь преобразовать его в XMLType, Oracle захлебнется, если XML содержит специальные символы (в данном случае норвежские символы, такие как "øæå").
ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00216: invalid character 184 (0xB8)
Если я читаю файл в NCLOB, а затем явно преобразовываю его в CLOB с помощью TO_CLOB, конструктор XMLType завершается успешно. Однако это преобразование дает «уродливые» результаты. Например,
bølle gjær
становится
bÿlle gjÿr
Есть ли способ выполнить преобразование из NCLOB с Unicode в однобайтовый CLOB и при этом сохранить специальные символы? (Меня особенно интересует правильное преобразование только трех норвежских символов «øæå», другие специальные символы и символы в этом случае не так важны.)