Serviço do Windows e configuração de código de código padrão/cultura?
-
27-09-2019 - |
Pergunta
Estou escrevendo um serviço que lerá um arquivo de um diretório, leia o conteúdo do arquivo e processará o conteúdo.
Estou tendo problemas com caracteres suecos que são lidos no arquivo, pois estão sendo traduzidos para "Carrejas" pelo serviço quando são lidos.
Alguém sabe qual página de código padrão/configuração de cultura é a Beeing usada pelo Service Control Manager ou talvez você saiba de algum artigo sobre "Melhores Práticas" para lidar com caracteres suecos no contexto da programação do Windows Service?
Qualquer ajuda é apreciada.
Solução
Provavelmente tem algo a ver com a maneira como você lê o arquivo e como o arquivo é codificado. Por exemplo, se o arquivo for codificado com o UTF-8 e sua leitura com ASCII, os caracteres especiais serão lixo.
Por exemplo:
using (var fileStream = new StreamReader(@"path to file", Encoding.UTF8))
{
Console.Write(fileStream.ReadToEnd());
}
Você pode mudar Encoding.UTF8
Para corresponder à codificação usada para criar o arquivo.