Perl's UTF-8 support breaks down only when it comes to char vs. byte orientation issues, and higher concepts like what a dot in a regex should match (more than one byte). It won't translate the string into another character set or otherwise munge it! Writing it out to a file will always write that sequence of bytes.
Perl doesn't know about "formatting information". So I think the problem must be in the interface, not with Perl 5.6.0 itself (so going to 5.8 won't help).