- $r->{ar}->content_type($r->{content_type});
- $r->{ar}->headers_out->set("Content-Length" => length $r->{output});
- $r->{ar}->send_http_header;
- $r->{ar}->print($r->{output});
+ $r->{ar}->content_type(
+ $r->{content_type} =~ m/^text/
+ ? $r->{content_type} . "; charset=" . $r->{document_encoding}
+ : $r->{content_type}
+ );
+ $r->{ar}->headers_out->set(
+ "Content-Length" => do { use bytes; length $r->{output} }
+ );
+ APACHE2 || $r->{ar}->send_http_header;
+ $r->{ar}->print( $r->{output} );