запись в файл выходит на квадраты - PullRequest
4 голосов
/ 06 сентября 2011

Для моих тестовых данных я использую символы:

漢字仮名交じり文

Мой код для записи файла:

// Create license key file
if (!File.Exists(Settings.LicenseFilesLocation + "/" + EmailAddress + "/" + LicenseFileName))
{
    HttpContext.Current.Response.Write(Name.Normalize());
    HttpContext.Current.Response.End();

    // UTF-8
    StreamWriter License = File.CreateText(Settings.LicenseFilesLocation + "/" + EmailAddress + "/" + LicenseFileName);

    License.WriteLine("Licensed to: " + Name.Normalize());

    License.Flush();
    License.Close();  

Как вы видите, я печатаю значение перед тем, как сохранить его в файл, чтобы проверить, и оно печатается правильно. Однако в сохраненном текстовом файле, когда я открываю его в блокноте, он выглядит как множество квадратов (см. Скриншот):

enter image description here

Когда я копирую и вставляю эти символы, они правильно копируются и вставляются как:

漢字仮名交じり文

У нас много клиентов, которые говорят, что их файл лицензии имеет свое имя в квадратах, которые им не нравятся. Наша программа, которая открывает и проверяет этот файл, также показывает их имя в виде квадратов.

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

1 Ответ

7 голосов
/ 06 сентября 2011

Существует два источника этой проблемы:

  1. Ваш файл закодирован неправильно. Если вы используете что-либо, кроме символов ASCII, то вам нужно принять осознанное решение о выборе правильной кодировки. Тот факт, что копирование и вставка работает, заставляет меня думать, что с вашей кодировкой все в порядке, но вы все еще, кажется, не знаете, что это происходит за кулисами.
  2. Ваш редактор пытается отобразить символы Юникода, используя шрифт, который не может правильно их отобразить. Не каждый шрифт поддерживает Unicode. Измените шрифт на шрифт, который может отображать символы Юникода, и вы должны быть в порядке.

РЕДАКТИРОВАТЬ: Как примечание, понимание шутки здесь также принесет вам пользу.

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