Как использовать GetBytes () в C # с кодировкой UTF8 с BOM?

У меня проблема с кодировкой UTF8 в моем приложении asp.net mvc 2 на C #. Я пытаюсь разрешить пользователю загружать простой текстовый файл из строки. Я пытаюсь получить массив байтов со следующей строкой:

var x = Encoding.UTF8.GetBytes (csvString);

, но когда я возвращаю его для загрузки, используя:

return File (x, ... , ...);

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

Я также попытался создать экземпляр класса UTF8Encoding и передать его конструктору логическое значение (true), чтобы включить спецификацию, но это тоже не работает.

У кого-нибудь есть решение? Спасибо!

45
задан Darin Dimitrov 10 December 2010 в 23:14
поделиться