|
|
|
Unicode символы, ошибка при обработке XML LPX-00217: недопустимый символ 1088 (U+0440)
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток. Необходимо парсить xml содержащий Unicode символы. В Oracle 10.2.0.5.0 и 11.2.0.1 работает, а в 11.2.0.3 не работает. Возникает ошибка LPX-00217: недопустимый символ. Вот запрос для примера: set define off select xmltype.createxml('<xml>руб</xml>') from dual / Подскажите, пожалуйста, это баг? Как можно обойти данную проблему? Может какие-нибудь настройки надо сделать? Или патч установить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 20:03:59 |
|
||
|
Unicode символы, ошибка при обработке XML LPX-00217: недопустимый символ 1088 (U+0440)
|
|||
|---|---|---|---|
|
#18+
Прошу прощения, вот запрос для тестов Код: plsql 1. 2. 3. : ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 20:20:15 |
|
||
|
Unicode символы, ошибка при обработке XML LPX-00217: недопустимый символ 1088 (U+0440)
|
|||
|---|---|---|---|
|
#18+
arusnak, бд работает в кодировке бд. если кодировка символов отличается, то используй бинарные данные или универсальную национальную кодировку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2012, 20:22:51 |
|
||
|
Unicode символы, ошибка при обработке XML LPX-00217: недопустимый символ 1088 (U+0440)
|
|||
|---|---|---|---|
|
#18+
Не понял про кодировку. Кодировка всех 3-х баз CL8MSWIN1251. Только для версии 11.2.0.3 парсер не может правильно обработать Unicode символы и выдает ошибку. Вот например здесь http://oraclespot.wordpress.com/2012/01/27/bug11877267/ утверждается, что для версии 11.2.0.2 парсер поменяли и что это может быть баг. Такие же заявления видел еще в нескольких местах. Даже если это баг, что делать с Uicode символами? Может их как-то можно все найти и преобразовать перед парсингом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 09:28:43 |
|
||
|
Unicode символы, ошибка при обработке XML LPX-00217: недопустимый символ 1088 (U+0440)
|
|||
|---|---|---|---|
|
#18+
Проверил еще на одной базе 11.2.0.3.0 у которой кодировка AL32UTF8. Парсинг с xml с юникодом работает! Поэтому выход такой: преобразуем clob xml в blob и создаем xmltype следующим образом Код: plsql 1. т.е всегда кодировка все должна быть 'UTF8' тема закрыта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2012, 16:30:44 |
|
||
|
Unicode символы, ошибка при обработке XML LPX-00217: недопустимый символ 1088 (U+0440)
|
|||
|---|---|---|---|
|
#18+
arusnak, а вот такое не тоже самое? select XMLType(BFileName(F.File_DIR,f.full_file_name),NLS_CharSet_ID ('UTF8')) into loFile from dual; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2013, 17:27:01 |
|
||
|
Unicode символы, ошибка при обработке XML LPX-00217: недопустимый символ 1088 (U+0440)
|
|||
|---|---|---|---|
|
#18+
Та же проблема. Когда делаю select XMLType(BFileName('XMLXSD','filename.xsd'),NLS_CharSet_ID('UTF8')) from dual; получаю ошибку : LPX-00217: invalid character 55013(U+D6E5) символа D6E5 в файле нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 17:26:47 |
|
||
|
Unicode символы, ошибка при обработке XML LPX-00217: недопустимый символ 1088 (U+0440)
|
|||
|---|---|---|---|
|
#18+
karlov69символа D6E5 в файле нет.Есть - это 'Це' в кодировке 1251. В отличие от однобайтовой кодировки, в utf-8 не все последователности байтов допустимы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 17:48:53 |
|
||
|
Unicode символы, ошибка при обработке XML LPX-00217: недопустимый символ 1088 (U+0440)
|
|||
|---|---|---|---|
|
#18+
-2-, А как сделать, чтоб не ругалось? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 18:21:08 |
|
||
|
Unicode символы, ошибка при обработке XML LPX-00217: недопустимый символ 1088 (U+0440)
|
|||
|---|---|---|---|
|
#18+
Такая же проблема: ORA-31011: XML parsing failed ORA-19202: Error occured in XML processing In line 1 of stream: LPX-00217: Invalid character 16 (U+0010) при выполнении запроса Код: plsql 1. 2. 3. 4. СУБД Oracle 11.2.0.3 Standart Edition. Выполнил Код: plsql 1. , как советовали тут - не помогло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2015, 17:08:10 |
|
||
|
Unicode символы, ошибка при обработке XML LPX-00217: недопустимый символ 1088 (U+0440)
|
|||
|---|---|---|---|
|
#18+
Pastic, вероятно 15592169 , для более точной диагностики надо данные смотреть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2015, 17:22:54 |
|
||
|
Unicode символы, ошибка при обработке XML LPX-00217: недопустимый символ 1088 (U+0440)
|
|||
|---|---|---|---|
|
#18+
ArtNickвероятно 15592169 , для более точной диагностики надо данные смотретьсудя по части имени пути к файлу, там не только xml в кодировке бд, а скорее совсем наоборот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2015, 17:40:39 |
|
||
|
Unicode символы, ошибка при обработке XML LPX-00217: недопустимый символ 1088 (U+0440)
|
|||
|---|---|---|---|
|
#18+
ArtNickPastic, вероятно 15592169 , для более точной диагностики надо данные смотреть Как бы их ещё посмотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2015, 12:00:15 |
|
||
|
Unicode символы, ошибка при обработке XML LPX-00217: недопустимый символ 1088 (U+0440)
|
|||
|---|---|---|---|
|
#18+
Вот так сработало без ошибок: Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2015, 13:20:06 |
|
||
|
Unicode символы, ошибка при обработке XML LPX-00217: недопустимый символ 1088 (U+0440)
|
|||
|---|---|---|---|
|
#18+
Добрый день! Немного реанимирую топик. Есть файлы xml Код: xml 1. 2. 3. 4. 5. Есть база в al32utf8. Каждый день идет загрузка файлов loadclobfromfile -> xmldom, парсинг каждого elem в clob и по определенному условию сохраняется в таблице как xmltype. И так вполне успешно гигабайты файлов прокручивает день за днем. Но примерно раз в месяц возникает Код: plsql 1. 2. 3. 4. Символы могут быть разные. Аналогичный результат получается и в случае, когда проблема локализована и помещена в отдельный файл Код: xml 1. 2. 3. 4. таким способом Код: plsql 1. 2. А вот если таким способом грузить исходный xml - то все ок. Проблема решается быстро, когда в hex редакторе найдешь где проблема и, если это в незначащей области xml, поставишь пробел. Но если в значащей области, уже сложнее. Сейчас пока решил, если получаю такой exception, в clob, содержащий elem, над которым выполняется xmltype(), добавляю Код: xml 1. Если добавлять изначально, то проблема возникала примерно с такой же частотой, но у файлов, которые без этого куска обрабатывались. Это помогает, но кажется, способ тот еще костыль, возможно, теперь раз в год может проблема возникать, может вообще больше не возникнет, но гарантии нет. Есть конечно вариант выкинуть xmldom, clob и сразу работать с xmltype, но переделывать придется очень много, и также гарантии нет, что не свалится. Помогите добраться до сути. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.06.2016, 08:48:20 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39012579&tid=1888009]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
235ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 500ms |

| 0 / 0 |
