Какая кодировка по умолчанию при сохранении текстового файла - PullRequest
3 голосов
/ 14 ноября 2011

При сохранении текстового файла клиент получает символ «Â» перед каждым знаком валюты.

Я пробовал следующее, но все еще получал странные символы

using (StreamWriter sr = new StreamWriter(path, false, System.Text.Encoding.UTF8))
{
    sr.Write(text);
}
using (StreamWriter sr = File.CreateText(path))
{
    sr.Write(text);
}

любые предложения по сохранениюфайл без какой-либо кодировки?

Ответы [ 3 ]

14 голосов
/ 14 ноября 2011

какие-либо предложения о том, как сохранить файл без какой-либо кодировки?

Этот вопрос не имеет смысла; «кодировка» - это процесс преобразования строковых символов в байты для хранения / передачи (например, на диске). Любой текстовый контент должен иметь кодировку и . Если вы сохранили его как UTF8, то читающий его должен также прочитать как UTF8. Вы можете попробовать включить спецификацию:

... new StreamWriter(path, false, new UTF8Encoding(true))

В качестве альтернативы выясните, какую кодировку / кодовую страницу ВАША МАШИНА настроила для использования по умолчанию, и используйте ее (это Encoding.Default); например:

... new StreamWriter(path, false, Encoding.Default)

Если ваш пользователь указывает, что он нуждается в кодовой странице 874 (он же «тайский»), то вы должны использовать:

... new StreamWriter(path, false, Encoding.GetEncoding(874))
6 голосов
/ 14 ноября 2011

StreamWriter с потоком в качестве входных данных по умолчанию будет UTF-8 в соответствии с документацией .

Этот конструктор создает StreamWriter с кодировкой UTF-8 без порядка байтовMark (BOM), поэтому его метод GetPreamble возвращает пустой байтовый массив.

3 голосов
/ 14 ноября 2011

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

См .: http://msdn.microsoft.com/en-us/library/system.text.encoding.default.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...