Convertendo Unicode para Windows-1252 para vCards
Estou tentando escrever um programa emC # que dividirá um arquivo vCard (VCF) com vários contatos em arquivos individuais para cada contato. Entendo que o vCard precisa ser salvo como ANSI (1252) para que a maioria dos celulares os leia.
No entanto, se eu abrir um arquivo VCF usandoStreamReader
e depois escreva de volta comStreamWriter
(definindo 1252 como o formato de codificação), todos os caracteres especiais, comoå
, æ
eø
estão sendo escritos como?
. Certamente o ANSI (1252) suportaria esses caracteres. Como faço para corrigir isso?
Editar: Aqui está o código que eu uso para ler e escrever o arquivo.
private void ReadFile()
{
StreamReader sreader = new StreamReader(sourceVCFFile);
string fullFileContents = sreader.ReadToEnd();
}
private void WriteFile()
{
StreamWriter swriter = new StreamWriter(sourceVCFFile, false, Encoding.GetEncoding(1252));
swriter.Write(fullFileContents);
}