++ for a good question, but, no. Perl can't tell if you're sending utf8 text or a binary file (e.g., you have a mod_perl script that generates a PDF and sends that instead of html). Only you as the programmer know enough context to decide what format to set the output to.
I agree in general but here is the thing. I come to the conclusion that this is related to my locales on the Ubuntu machine that is running this particular site. All i could make out so far was that the ENV VARS
LC_ALL, LANG and LANGUAGE
are set to en_US even if they should be en_US.UTF-8 or POSIX.
On my local system i run apache on gentoo (yeah i know) and all related ENV vars are set to POSIX and the default output on STDOUT in mod_perl is UTF8. I get the job done with perl ... but this makes me sick. If i get that solved i will report back