Cita:
Empezado por ARPE1
Hola y muchas gracias por la respuesta. He llegado a un momento en el que dudo de todo, así que creo que eso también lo he probado. Entre otras formas de esta, ya no sé si será correcta o no:
Código Delphi [-] slXML := TStringList.Create;
Try
slXML.LoadFromFile('test_TBAI.xml');
slXML.SaveToFile('test_TBAI_utf8.xml', TEncoding.UTF8);
Finally
slXML.Free;
end;
Haciendo ese paso previo (también probado con la clase "TUTF8NoBOMEncoding" que indicaba un delphiano de este mismo foro) la respuesta es:
Código:
<Codigo>002</Codigo>
<Descripcion>Error: El fichero de alta TicketBAI no cumple el esquema XSD. No se ha podido procesar el mensaje. Detalle del error: Content is not allowed in prolog.</Descripcion>
Un saludo
|
Da igual que lo intentes codificar si tiene caracteres inválidos para la codificación te va a poner otra.
Es mejor que conviertas previamente los caracteres raros. Yo tenia problemas con esto porque lo genero lo guardo y luego lo vuelvo a leer y en ese me momento me cambia la codificación como tenga cosas raras.
Código:
'Ñ ñ
Texto = Replace(Texto, "Ñ", "Ñ")
Texto = Replace(Texto, "ñ", "ñ")
'Á á
Texto = Replace(Texto, "Á", "Ã")
Texto = Replace(Texto, "á", "á")
'É é
Texto = Replace(Texto, "É", "É")
Texto = Replace(Texto, "é", "é")
'Í í
Texto = Replace(Texto, "Í", "Ã")
Texto = Replace(Texto, "í", "Ã*")
'Ó ó
Texto = Replace(Texto, "Ó", "Ó")
Texto = Replace(Texto, "ó", "ó")
'Ú ú
Texto = Replace(Texto, "Ú", "Ú")
Texto = Replace(Texto, "ú", "ú")
'Ü ü
Texto = Replace(Texto, "Ü", "Ü")
Texto = Replace(Texto, "ü", "ü")
'ª
Texto = Replace(Texto, "ª", "ª")
'º
Texto = Replace(Texto, "º", "º")
'&
Texto = Replace(Texto, "&", "&")
Texto = Replace(Texto, "ç", "ç")
Texto = Replace(Texto, "Ç", "Ç")
'ö
Texto = Replace(Texto, "ö", "ö")
Texto = Replace(Texto, "Ö", "Ö")
Texto = Replace(Texto, "´", "´")