Ver Mensaje Individual
  #11  
Antiguo 19-07-2021
Noe277 Noe277 is offline
Miembro
 
Registrado: jul 2017
Posts: 175
Reputación: 10
Noe277 Va por buen camino
Cita:
Empezado por ARPE1 Ver Mensaje
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, "&", "&amp;")
    
    Texto = Replace(Texto, "ç", "ç")
    Texto = Replace(Texto, "Ç", "Ç")
    
    'ö
    Texto = Replace(Texto, "ö", "ö")
    Texto = Replace(Texto, "Ö", "Ö")
    
    
     Texto = Replace(Texto, "´", "´")

Última edición por Noe277 fecha: 19-07-2021 a las 11:55:05.
Responder Con Cita