Thank you.

May I suggest a slight improvement in the online doc at
http://perl.apache.org/docs/2.0/api/Apache2/RequestRec.html#C_content_type_
then, to add this explicitly ?
Currently, it says :

quote

content_type

Get/set the HTTP response Content-type header value.

  my $content_type      = $r->content_type();
  my $prev_content_type = $r->content_type($new_content_type);

    * obj: $r ( Apache2::RequestRec object )
    * opt arg1: $new_content_type (MIME type string)

Assign a new HTTP response content-type. It will affect the response only if HTTP headers weren't sent yet.
    * ret: $content_type

      The current content-type value.

      If $new_content_type was passed, the previous value is returned instead.
    * since: 2.0.00

For example, set the Content-type header to text/plain.

  $r->content_type('text/plain');

If you set this header via the headers_out table directly, it will be ignored by Apache. So do not do that.

unquote

Maybe just an additional example :

  $r->content_type('text/plain; charset=UTF-8');



Joe Schaefer wrote:
Yes!



----- Original Message ----
From: André Warnier <a...@ice-sa.com>
To: mod_perl list <modperl@perl.apache.org>
Sent: Sat, May 28, 2011 8:23:34 AM
Subject: How to set Content-type properly

Hi.

I am using :
Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 mod_jk/1.2.26 PHP/5.2.6-1+lenny9 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g mod_apreq2-20051231/2.6.0 mod_perl/2.0.4 Perl/v5.10.0

In a PerlResponseHandler, I am using Template-Toolkit to generate html pages sent back to the browser.
Before rendering a template, I set the response  Content-type header, as :

$r->content_type('text/html');

This  results in a HTTP response to the browser, with the following header  :

Content-Type:    text/html

However, I would like  this :

Content-Type:    text/html;  charset=UTF-8

How do I do that  ?

is

$r->content_type('text/html;  charset=UTF-8');

admissible ?






Reply via email to