Я кратко посмотрел на org.json.XML.toJSONObject(String)
, и он, похоже, не выполняет транскодирование символов.
Я подозреваю, что проблема в том, как ваше приложение читает строку, которая затем передается в toJSONObject
.Я подозреваю, что он использует неправильный набор символов.
На самом деле есть две возможности:
У XML нет атрибута 'encoding', и ваше приложение просто выбирает неправильныйone.
У XML есть атрибут 'encoding', но ваше приложение не может его учитывать.
Вторая возможность проблематична,В идеальном случае XML-документ анализируется путем чтения в виде байтов ASCII до тех пор, пока атрибут 'encoding' в <? xml ?> declaration is read. Then character interpretation switches to the document's specified encoding. But the XML parser use by
org.json` не сможет это сделать, а его API все равно этого не допустит.Поэтому, если у вас есть XML с атрибутом «кодировка», вам придется его обнаружить (каким-то образом) до того, как превратит документ в строку Java.