Поскольку сохранение в файл работает, а сохранение в stdout - выдаёт повреждённый документ - то логично предположить, что stdout чем-то немного сломан.
Рядовые проблемы - метка BOM, пробелы, переводы строк, предупреждения языка, срабатывающие только в коде для вывода.
Берётся копия stdout с одной стороны и корректно созданный файл с другой - и скармливаются 16-ричному редактору с последующим поиском разницы. Обычно в первых байтах проблема находится.
|