How to set Content-type properly
am 28.05.2011 14:23:34 von aw
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 ?
Re: How to set Content-type properly
am 28.05.2011 14:27:10 von Joe Schaefer
Yes!
----- Original Message ----=0A> From: Andr=E9 Warnier
ce-sa.com>=0A> To: mod_perl list =0A> Sent: Sat, M=
ay 28, 2011 8:23:34 AM=0A> Subject: How to set Content-type properly=0A> =
=0A> Hi.=0A> =0A> I am using :=0A> Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 mo=
d_jk/1.2.26 PHP/5.2.6-1+lenny9 with =0A>Suhosin-Patch mod_ssl/2.2.9 OpenSS=
L/0.9.8g mod_apreq2-20051231/2.6.0 =0A>mod_perl/2.0.4 Perl/v5.10.0=0A> =0A=
> In a PerlResponseHandler, I am using Template-Toolkit to generate html p=
ages =0A>sent back to the browser.=0A> Before rendering a template, I set =
the response Content-type header, as :=0A> =0A> $r->content_type('text/htm=
l');=0A> =0A> This results in a HTTP response to the browser, with the fol=
lowing header :=0A> =0A> Content-Type: text/html=0A> =0A> However, I wo=
uld like this :=0A> =0A> Content-Type: text/html; charset=3DUTF-8=0A> =
=0A> How do I do that ?=0A> =0A> is=0A> =0A> $r->content_type('text/html; =
charset=3DUTF-8');=0A> =0A> admissible ?=0A> =0A> =0A> =0A>
Re: How to set Content-type properly
am 28.05.2011 15:59:49 von aw
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
>> To: mod_perl list
>> 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 ?
>>
>>
>>
>>
>