Я попытался импортировать файлы vCard с помощью приложения «Контакты» по умолчанию в Samsung Galaxy S6 ( подробности здесь ), но я не уверен в требуемом формате (поддерживаемая версия vCard) и используемой кодировке.
Я использовал Windows-1250
кодировку, и это сработало, но все специальные символы были импортированы как ?
. При использовании UTF-8
не удалось импортировать полностью. Какова рекомендуемая кодировка символов и рекомендуемый формат/версия vCard?
В настоящее время мой файл vCard выглядит так с кодировкой Windows-1250:
BEGIN:VCARD
VERSION:3.0
NAME:XXXX Günzel
N:Günzel;XXXXX;;;
TEL;CELL:+XXXXXXXXX
END:VCARD
На самом деле это не вопрос Android, но если вы спрашиваете, «как я могу правильно импортировать этот файл VCard в мою адресную книгу Android», то в файле VCard могут потребоваться некоторые корректировки. Я нашел сводку спецификации в этом комментарии к проблеме Github :
- vCard 2.1 по умолчанию имеет формат US-ASCII. Отдельные свойства можно переопределить с помощью
CHARSET=
параметра.
Content-Type: text/vcard; charset=ISO-8859-1
.Приведем пример для 1., взятый из этой статьи :
НАЧАЛО:ВКАРТА FN;CHARSET=UTF-8:Mr. Доктор Джон Морис Бенджамин Доу Ph.D.\, JD N;CHARSET=UTF-8:Доу;Джон;Морис,Бенджамин;г-н,д-р;доктор философии,JD КОНЕЦ:ВИДЕО
Дальнейшие чтения включают RFC 6350 :)
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).
still no support for vCard 4.0!
ситуация не изменилась с 2018 по 2022 год, к сожалению. Я пишу это с Android 12, и это все еще vCard 2.1 :(
Иззи
Войтех Донал
Иззи