use strict;
use warnings;
use XML::DOM;
my $xml = <<"__EOI__";
\xC3\xA9
__EOI__
my $parser = new XML::DOM::Parser;
my $doc = $parser->parse($xml);
$doc->printToFile("test.xml");
####
>perl a.pl
>perl -e"$/=\16; while (<>) { my $s=uc unpack 'H*', $_; $s=~s/..\K/ /g; print qq{$s\n}; }" test.xml
3C 3F 78 6D 6C 20 76 65 72 73 69 6F 6E 3D 22 31
2E 30 22 20 65 6E 63 6F 64 69 6E 67 3D 22 55 54
46 2D 38 22 3F 3E 0A 3C 54 45 53 54 3E 20 E9 20
3C 2F 54 45 53 54 3E 0A
####
use strict;
use warnings;
use XML::DOM;
my $xml = <<"__EOI__";
\xC3\xA9
__EOI__
my $parser = new XML::DOM::Parser;
my $doc = $parser->parse($xml);
open my $fh, ">:utf8", "test.xml" or die $!;
$doc->printToFileHandle($fh);
####
>perl a.pl
>perl -e"$/=\16; while (<>) { my $s=uc unpack 'H*', $_; $s=~s/..\K/ /g; print qq{$s\n}; }" test.xml
3C 3F 78 6D 6C 20 76 65 72 73 69 6F 6E 3D 22 31
2E 30 22 20 65 6E 63 6F 64 69 6E 67 3D 22 55 54
46 2D 38 22 3F 3E 0A 3C 54 45 53 54 3E 20 C3 A9
20 3C 2F 54 45 53 54 3E 0A
####
open my $fh, ">:utf8", "test.xml" or die $!;
print($fh "\x{FEFF}");
$doc->printToFileHandle($fh);
####
...Fix the line...
open my $fh, ">:encoding(cp1252)", "test.xml" or die $!;
$doc->printToFileHandle($fh);