10 votos

¿Qué formatos/versiones y codificaciones de vCard se admiten para la importación?

He tratado de importar archivos vCard usando la aplicación predeterminada de Contactos en el Samsung Galaxy S6 ( detalles aquí ), pero no estoy seguro del formato requerido (versión de vCard soportada) y de la codificación a utilizar.

He usado Windows-1250 codificación y funcionó, pero todos los caracteres especiales fueron importados como ? . Cuando se usa UTF-8 no se importó completamente. ¿Cuál es la codificación de caracteres recomendada y el formato/versión vCard recomendado?

Actualmente mi archivo vCard se ve así con la codificación de Windows-1250:

BEGIN:VCARD
VERSION:3.0
NAME:XXXX Günzel
N:Günzel;XXXXX;;;
TEL;CELL:+XXXXXXXXX
END:VCARD

0 votos

¿Ha especificado el conjunto de caracteres con sus registros vcard? Véase aquí por ejemplo.

0 votos

No, no lo hice... ¿Debería? ¿Cuál es el conjunto de caracteres por defecto?

0 votos

Vea mi respuesta más abajo :)

9voto

Izzy Puntos 45544

Esa no es realmente una pregunta para Android, pero asumiendo que se preguntaba "cómo puedo importar este archivo VCard correctamente en mi agenda de Android": Algunos ajustes podrían ser necesarios para el archivo VCard. Encontré un resumen de especificaciones en este comentario del número de Github :

  1. La vCard 2.1 es US-ASCII por defecto. Las propiedades individuales pueden ser anuladas con el CHARSET= parámetro.
  2. vCard 3.0 requiere que el mimetipo incluya un conjunto de caracteres, por ejemplo. Content-Type: text/vcard; charset=ISO-8859-1 .
  3. vCard 4.0 es siempre UTF-8.

Dando un ejemplo para 1., tomado de este artículo :

BEGIN:VCARD
FN;CHARSET=UTF-8:Mr. Dr. John Maurice Benjamin Doe Ph.D.\\, J.D.
N;CHARSET=UTF-8:Doe;John;Maurice,Benjamin;Mr.,Dr.;Ph.D.,J.D.
END:VCARD

Otras lecturas incluyen RFC 6350 :)

0 votos

Así que cuando tengo vCards de la versión 3.0 con codificación UTF-8, entonces no necesito hacer nada, supongo. The charset (see [RFC3536] for internationalization terminology) for vCard is UTF-8 as defined in [RFC3629]. There is no way to override this. It is invalid to specify a value other than "UTF-8" in the "charset" MIME parameter (see Section 10.1).

2 votos

Así es como yo lo leería, sí. Aunque no es que haya jugado con él :)

0 votos

Parece que tenía dos caracteres no válidos al principio del archivo creado por C#, lo comprobaré más tarde.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X