![]() |
Error de codificación en lasubida de imágenes a una bd con DataSnap
Hola a todos excelente comunidad, tengo pensado un sistema para mi ex escuela que consiste en almacenar archivos pdf en una base de datos y posteriormente poder descargarlos.
Planeo un sistema cliente-servidor usando DataSnap server, implementé un código de prueba que al ejecutarlo en Windows, la parte del cliente corre correctamente y si guarda el registro con el parámetro que mando, la cosa está en que cuando intento correr el mismo código en un cliente Android me salta un error con la siguiente descripción: "No mapping for the unicode character exists in the target multi-byte code page" Paso el memoryStream como string desde el cliente al server. Código del cliente:
Código en el server: Les agradecería mucho su ayuda gracias! |
A la hora de crear Streams, puedes añadir una codificación en el método create.
Haz alguna prueba cambiandola a ver que no sea eso. |
Cita:
ENCONTRÉ LA SOLUCIÓN Resulta que Windows por defecto maneja en los TstringStream la codificación tmbcsencoding, y Android maneja la UTF-8 entonces, con respecto a lo que mencionabas, en el método create del tstringStream puedes definir tanto la codificación o el código de página de dicha codificación y por ende el tstringStream creado tiene dicha codificación. Se me ocurrió la idea de jalar el code page de tmbcsencoding y ponerlo en el método create de mi tstringStream y funciona perfectamente!!! Te agradezco demasiado por darme esa encaminada, ahora puedo subir cualquier archivo no solo imágenes a la base de datos mysql con DataSnap desde un cliente Android, el código queda así: (aclaro que es un código de prueba y la liberación de memoria de los objetos creados en tiempo de ejecución no está escrita)
Del lado del server todo funciona de maravilla. |
La franja horaria es GMT +2. Ahora son las 18:53:24. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi