Hi. I have found that the content type header, that is sent is not the one from $r->content_type. Instead it is $r->make_content_type($r->content_type). This is (as far as I understand it) because of the meaning of default (use, if no other is set). make_content_type adds the default charset that has been set with AddDefaultCharset directly before sending the header.
In some situations it is necessary to know the charset that would be sent. I found this while tracking down a charset bug in my module (Cindy::Apache2). This runs the libxml2 parser on the content returned by a subrequest. To do this correctly it must know the charset, which in a correctly configured apache is the charset that would be sent over the net. It should be easy to do. As Torsten Foetsch said: !MODULE=Apache2::HTTPCore >ap_process_request >ap_make_content_type >ap_core_reorder_directories >ap_index_of_response It should be enough to change that to MODULE=Apache2::HTTPCore PACKAGE=Apache2::RequestRec >ap_process_request ap_make_content_type >ap_core_reorder_directories >ap_index_of_response Thanks, Joachim