Я загружаю vCard в браузер, используя Response.Write для вывода строк .NET со специальными символами с акцентом. Тип MIME текст / X-Vcard и
Французские символы отображаются неправильно в Outlook, например, Montréal;Québec
.NET строка отображается как Montréal Québec
в браузере.
Видимо, формат по умолчанию vCard - ASCII. Строки .NET являются Unicode UTF-16.
Я использую этот код генератора vCard от CodeProject.com
Я играл с образцом кода System.Encoding внизу этой связанной страницы MSDN , чтобы преобразовать строку Юникода в байты и затем записать байты ascii, но затем я получил Montr?al Qu?bec
(прогресс но не победа). Также я попытался установить тип содержимого для ответа us-ascii и utf-8.
Если я открою загруженную визитную карточку в Блокноте Windows и сохраню ее в виде текста ANSI (вместо формата по умолчанию Юникод) и открою в Outlook, все в порядке. Поэтому я предполагаю, что мне нужно вызвать загрузку кодировки ANSI, но я не уверен, что делаю это неправильно или неправильно понимаю, с чего начать.
Обновление: Глядя на необработанный HTTP, кажется, что мои французские символы загружаются в неожиданном формате, поэтому мне кажется, что мне нужно поработать на стороне сервера ...
raw http://img444.imageshack.us/img444/8533/charsd.png (полный размер)