Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

XmlSerializer genera datos erróneos(pero solo en móvil)

Iniciado por Quel, Febrero 29, 2016, 12:58:18 PM

Tema anterior - Siguiente tema
Febrero 29, 2016, 12:58:18 PM Ultima modificación: Febrero 29, 2016, 12:59:18 PM por Quel
Buenos días. De nuevo acudo a vosotros por si hay suerte y alguno sabe el motivo y solución de un problema realmente curioso que me he encontrado en mi proyecto.Resulta que uso el XmlSerializer y PlayerPrefs para guardar datos de algunas clases, de forma que pueda tener continuidad entre partidas. Cosas como ... cuantas veces has jugado un mapa, tu mejor puntuación en ese mapa, cuantas estrellitas has recogido, tiempo de juego total, un largo etc ... En fin, datos variados.
Pero ha ocurrido que al testear la applicación en mi dispositivo(Android), se generaba un error. Tras mucho indagar y una cantidad indecente de Debug.Log() he consiguido descubrir el error que solo se produce en el dispositivo móvil, pero no en el ordenador. Resulta que al guardar los datos en el ordenador, se guardan tal que así ...
<?xml version="1.0" encoding="Windo...(bla bla bla)[/quote]Pero al guardarlos en el móvil se guardan de la siguiente forma ...
???<?xml version="1.0" encoding="Windo...(bla bla bla)[/quote]Si. Con tres signos de interrogación delante, lo que rompe por completo la deserialización.
De momento lo he arreglado eliminando de forma "manual" los tres interrogantes antes de guardar, pero me parece una solución muy guarra y poco sólida.¿ Sabe alguno a que se deben esos interrogantes ?Gracias.

me recuerda al marcador UTF BOM que son 3 caracteres invisibles (EF BB BF)... si no hay opcion para quitar el BOM puedes quitarlo son problemas lo normal hoy en dia es la codificacion UTF

[quote author=Braltor" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="35279" data-ipsquote-contentcommentid="127631 date=1456751175]me recuerda al marcador UTF BOM que son 3 caracteres invisibles (EF BB BF)... si no hay opcion para quitar el BOM puedes quitarlo son problemas lo normal hoy en dia es la codificacion UTF[/quote]Hummm... Interesante, aunque eso que dices me suena a medio-chino. ¿ Me lo podrías explicar de forma mas extensa ?. ¿ O sabes de alguna web donde pueda informarme ?

es nada mas un codigo q ayuda a saber si la cadena es utf-8 en vez de ascii o otras codificaciones... pero ahora que se usa utf casi para todo ya no es importante, si no lo pones tomara la cadena como utf por defecto

Etiquetas: