2010-06-14 2 views
0

Я пишу службу, которая будет читать файл из каталога, читать содержимое файла и обрабатывать содержимое.Служба Windows и кодовая страница по умолчанию/настройка культуры?

У меня возникли проблемы со шведскими символами, которые читаются из файла, так как они переводятся в «мусорные символы» службой при их чтении.

Кто-нибудь знает, какая настройка/настройка параметров по умолчанию используется в диспетчере управления службами, или вы знаете какую-либо статью о «лучшей практике» для обработки шведских символов в контексте программирования Windows Service?

Любая помощь приветствуется.

+0

Как вы читаете файл? Я бы поспорил, что здесь искажены персонажи, а не из-за того, что ваша программа работает как служба. Можете ли вы показать нам свой код? – dtb

+0

Вы были верны. Я не принимал во внимание параметр Encoding в конструкторе StreamReader, и это было моей проблемой. Я изменил свой код, и теперь он работает. Спасибо! – Freddy

ответ

0

Возможно, это связано с тем, как вы читаете файл и как кодируется файл. Например, если файл закодирован с помощью UTF-8, и вы читаете его с помощью ASCII, то специальные символы будут мусором.

Например:

using (var fileStream = new StreamReader(@"path to file", Encoding.UTF8)) 
{ 
    Console.Write(fileStream.ReadToEnd()); 
} 

Вы можете изменить Encoding.UTF8, чтобы соответствовать кодировки, используемый для создания файла.

+0

Благодарим вас за указатель. Мне просто нужно было выяснить, какую кодировку использовать, и это заставило ее работать. Я использовал Encoding.GetEncoding (1252) в StreamReader construtcor и сделал мой день. Спасибо! – Freddy

Смежные вопросы