Cómo reparar el byte 1 no válido de la secuencia UTF-8 de 1 byte

shaiksha:

Estoy tratando de obtener el siguiente xml de db usando un método java pero recibo un error

Código utilizado para analizar el xml

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();

InputSource is = new InputSource(new ByteArrayInputStream(cond.getBytes()));

Document doc = db.parse(is);

Element elem = doc.getDocumentElement();

// here we expect a series of <data><name>N</name><value>V</value></data>
NodeList nodes = elem.getElementsByTagName("data");

TableID jobId = new TableID(_processInstanceId);
Job myJob = Job.queryByID(_clientContext, jobId, true);

if (nodes.getLength() == 0) {
    log(Level.DEBUG, "No data found on condition XML");

}

for (int i = 0; i < nodes.getLength(); i++) {
    // loop through the <data> in the XML

    Element dataTags = (Element) nodes.item(i);
    String name = getChildTagValue(dataTags, "name");
    String value = getChildTagValue(dataTags, "value");

    log(Level.INFO, "UserData/Value=" + name + "/" + value);

    myJob.setBulkUserData(name, value);
}

myJob.save();

Los datos

<ContactDetails>307896043</ContactDetails>
<ContactName>307896043</ContactName>
<Preferred_Completion_Date>
</Preferred_Completion_Date>
<service_address>A-End Address: 1ST HELIERST HELIERJT2 3XP832THE CABLES 1 POONHA LANEST HELIER JE JT2 3XP</service_address>
<ServiceOrderId>315473043</ServiceOrderId>
<ServiceOrderTypeId>50</ServiceOrderTypeId>
<CustDesiredDate>2013-03-20T18:12:04</CustDesiredDate>
<OrderId>307896043</OrderId>
<CreateWho>csmuser</CreateWho>
<AccountInternalId>20100333</AccountInternalId>
<ServiceInternalId>20766093</ServiceInternalId>
<ServiceInternalIdResets>0</ServiceInternalIdResets>
<Primary_Offer_Name  action='del'>MyMobile Blue &#163;44.99 [12 month term]</Primary_Offer_Name>
<Disc_Reason  action='del'>8</Disc_Reason>
<Sup_Offer  action='del'>80000257</Sup_Offer>
<Service_Type  action='del'>A-01-00</Service_Type>
<Priority  action='del'>4</Priority>
<Account_Number  action='del'>0</Account_Number>
<Offer  action='del'>80000257</Offer>
<msisdn  action='del'>447797142520</msisdn>
<imsi  action='del'>234503184</imsi>
<sim  action='del'>5535</sim>
<ocb9_ARM  action='del'>false</ocb9_ARM>
<port_in_required  action='del'>
</port_in_required>
<ocb9_mob  action='del'>none</ocb9_mob>
<ocb9_mob_BB  action='del'>
</ocb9_mob_BB>
<ocb9_LandLine  action='del'>
</ocb9_LandLine>
<ocb9_LandLine_BB  action='del'>
</ocb9_LandLine_BB>
<Contact_2>
</Contact_2>
<Acc_middle_name>
</Acc_middle_name>
<MarketCode>7</MarketCode>
<Acc_last_name>Port_OUT</Acc_last_name>
<Contact_1>
</Contact_1>
<Acc_first_name>.</Acc_first_name>
<EmaiId>
</EmaiId>

El error

 org.apache.xerces.impl.io.MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence.

Leí en algunos hilos que se debe a algunos caracteres especiales en el xml. Cómo arreglar este problema ?

Ian Roberts:

Cómo arreglar este problema ?

Lea los datos utilizando la codificación de caracteres correcta. El mensaje de error significa que está intentando leer los datos como UTF-8 (ya sea deliberadamente o porque esa es la codificación predeterminada para un archivo XML que no especifica <?xml version="1.0" encoding="somethingelse"?>) pero en realidad está en una codificación diferente como ISO-8859-1 o Windows-1252.

Para poder asesorar sobre cómo debe hacer esto, tendría que ver el código que está usando actualmente para leer el XML.

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Tengo UTF-8, pero sigo obteniendo "Byte 1 no válido de la secuencia UTF-8 de 1 byte"

Eclipse MARS: la instalación de MercurialEclipse informa "Byte 1 no válido de la secuencia UTF-8 de 1 byte"

UnicodeDecodeError: el códec 'utf-8' no puede decodificar el byte 0xe1 en la posición 6: byte de continuación no válido

UnicodeDecodeError: el códec 'utf-8' no puede decodificar el byte 0xe3 en la posición 1: byte de continuación no válido

UnicodeDecodeError: el códec 'utf-8' no puede decodificar el byte 0xb1 en la posición 98: byte de inicio no válido

Python3: UnicodeDecodeError: el códec 'utf-8' no puede decodificar el byte 0x83 en la posición 1: byte de inicio no válido

MalformedByteSequenceException: byte 2 no válido de la secuencia UTF-8 de 2 bytes

Motor de aplicaciones - Python: UnicodeDecodeError: el códec 'utf8' no puede decodificar el byte 0xe1 en la posición 1: byte de continuación no válido

UnicodeDecodeError: el códec 'utf-8' no puede decodificar el byte 0x8b en la posición 1: byte de inicio no válido, mientras se lee el archivo csv en pandas

Pandas read_csv falla en el archivo comprimido con UnicodeDecodeError: el códec 'utf-8' no puede decodificar el byte 0x8b en la posición 1: byte de inicio no válido

Los pandas leen _excel: el códec 'utf-8' no puede decodificar el byte 0xa8 en la posición 14: byte de inicio no válido

El códec 'utf8' no puede decodificar el byte 0xb5 en la posición 0: error de byte de inicio no válido

json.dump - UnicodeDecodeError: el códec 'utf8' no puede decodificar el byte 0xbf en la posición 0: byte de inicio no válido

error UnicodeDecodeError: el códec 'utf-8' no puede decodificar el byte 0xff en la posición 0: byte de inicio no válido

UnicodeDecodeError: el códec 'utf-8' no puede decodificar el byte 0x96 en la posición 35: byte de inicio no válido

El códec 'utf-8' no puede decodificar el byte 0xa0 en la posición 4276: byte de inicio no válido

"UnicodeDecodeError: el códec 'utf-8' no puede decodificar el byte 0xad en la posición 2491: byte de inicio no válido"

El códec PyArmor ERROR 'utf-8' no puede decodificar el byte 0x83 en la posición 594: byte de inicio no válido

UnicodeDecodeError: el códec 'utf8' no puede decodificar el byte 0xa5 en la posición 0: byte de inicio no válido

El códec 'utf-8' no puede decodificar el byte 0x96 en la posición 227: byte de inicio no válido

frasco UnicodeDecodeError: el códec 'utf-8' no puede decodificar el byte 0xb3 en la posición 0: byte de inicio no válido

(Django) El códec 'utf-8' no puede decodificar el byte 0x89 en la posición 0: byte de inicio no válido

El códec 'utf-8' no puede decodificar el byte 0xb5 en la posición 10: byte de inicio no válido

UnicodeDecodeError: el códec 'utf-8' no puede decodificar el byte 0x80 en la posición 0: byte de inicio no válido

Error: el códec 'utf-8' no puede decodificar el byte 0xb0 en la posición 14: byte de inicio no válido

El códec 'utf-8' no puede decodificar el byte 0x93 en la posición 0: byte de inicio no válido

stax Java: byte no válido 2 de 3 bytes UTF-8 secuencia

¿Byte 2 no válido de secuencia UTF-8 de 4 bytes, pero solo al ejecutar JAR?

El códec 'utf-8' de lectura de la API de Gmail no puede decodificar el byte 0x80 en la posición 0: byte de inicio no válido