Функция header()
просто изменяет заголовки HTTP.Размещенный вами код устанавливает заголовок Content-Type
, который важен для сообщения браузерам и другим клиентам, какой тип файла вы обслуживаете.
Строка <?xml version="1.0"?>
, о которой вы говорите, является частью документа.сам по себе, и не зависит от заголовков HTTP.
Ваши теги говорят, что вы используете DOM для создания своего XML-документа.Если вы измените конструктор DomDocument так, чтобы он также передавал кодировку,
$doc = new DomDocument('1.0', 'UTF-8');
Он должен вывести эту кодировку в XML-документе.