Проблема с распечаткой в ​​текстовый файл

Я в полном тупике. У меня есть программа, которая извлекает информацию, хранящуюся в базе данных, присваивает значения базы данных соответствующему классу. У класса есть метод печати, который печатает значения своих полей. Пользователи вводят либо идентификатор заказа, либо диапазон дат заказа, а затем он находит эти заказы и распечатывает их в текстовый файл. Проблема, с которой я сталкиваюсь, заключается в том, что время от времени, в зависимости от того, какой идентификатор и дату вы выберете, текстовый файл будет распечатывать такой мусор. "〢Ⱒⰱ 潋 瑲 瑵 慨 湮 圬 扥 † ′ 慍 歲 瑥 㔬 ㈶‸ ⁗ ㈱ 琰 瑓 Ⱜ 汁 Ɒ 㘬 㠰 ㌰" Я совершенно не понимаю, потому что, когда я отлаживаю его, все значения отображаются правильно в классе, методе печати и наборе результатов. В чем может быть проблема? С кем-нибудь такое случалось?

ОС - Windows Vista, язык, который я использую, - C#. Я использую класс StreamWriter с FileStream в качестве параметра.

Это происходит только с некоторыми заказами. Например, если я выбираю порядок 7 или порядок 1-6, он работает нормально, но если я выбираю 1-7, я получаю странный язык. ????

Спасибо

Я уверен, что это своего рода код Да Винчи. Я позволил Google перевести это с китайского: «Чан Кай Чжао звон драгоценных камней, полных воды, погруженной в каменную кладку Орландо † 'мягкий годовалый Вэнь 㔬 в финансовом ⁗ ㈱ Ян Лянь из Ⱜ Вэнь Мэй сок» ;-)

splattne 26.12.2008 21:15

Шутки в сторону. О текстовом файле: текстовый файл создается вашей программой? Используется ли он другими программами? Есть ли большой текстовый файл, который используется повторно? Может, кто-нибудь открывает файл "вручную" редактором и сохраняет с неправильной кодировкой?

splattne 26.12.2008 21:25

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

jumbojs 26.12.2008 21:33

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

splattne 26.12.2008 21:36

В каком текстовом редакторе вы открываете файл? Вы пробовали использовать другие текстовые редакторы?

Igal Serban 26.12.2008 22:25

Вау, да, блокнот ++ отображает файл, но не блокнот. Что это обозначает? Есть ли способ исправить это?

jumbojs 26.12.2008 22:31

Да, есть. Посмотри на мой ответ.

Igal Serban 26.12.2008 22:40
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
7
259
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

что выглядит похож на плохое преобразование в / из Unicode, или переменная языка и региональных параметров установлена ​​и не применяется должным образом.

Ответ принят как подходящий

Основываясь на вашем комментарии, Блокнот пытается угадать кодировку файла. Посмотрите здесь, как это происходит.

Вы должны четко указать кодировку файла.

Из документации:

StreamWriter defaults to using an instance of UTF8Encoding unless specified otherwise. This instance of UTF8Encoding is constructed without a Byte-Order Mark (BOM), so its GetPreamble method returns an empty byte array. To create a StreamWriter using UTF-8 encoding and a BOM, consider using a constructor that specifies encoding, such as StreamWriter(String, Boolean, Encoding).

Другие вопросы по теме