Моя база данных (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 и при этом сохранить специальные символы без изменений? (Меня особенно интересует правильное преобразование только трех норвежских символов «øæå», другие специальные символы и символы в данном случае не так важны.)