Jump to content
Sign in to follow this  
Quel

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

Recommended Posts

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)

Pero al guardarlos en el móvil se guardan de la siguiente forma ...

???<?xml version="1.0" encoding="Windo...(bla bla bla)

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.

Edited by Quel

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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 ?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Sign in to follow this  

UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...