[Petal] Recap on utf8 encoding issues and PerlIO patch
William McKee
william at knowmad.com
Sat Jan 22 03:16:29 GMT 2005
> > (after eliminating the issue of the browser trying to display utf8
> > as Western ISO-8859-1)
>
> We have discovered that browsers sometimes do this even when
> presented with all the right hints. We currently put this <snip>
To add another tip to the bucket, I've discovered that even though I
have Apache setup with 'AddDefaultCharset utf-8', I would get
dynamically generated webpages coming through with the charset set to
ISO-8859-1. It turns out that if you are using CGI.pm to create queries,
it automatically defaults to this charset (aka, latin1).
This situation leads to a couple of options when using Petal with
CGI.pm:
a) Always specify the charset as utf-8 when creating your CGI object.
For example:
my $q = CGI->new;
print $q->header(-charset => 'utf-8');
# carry on with your Petal processing...
b) Always re-encode the string returned from Petal's process() method
into latin1 format. For example:
my $template = Petal->new('template.tmpl');
my $html = $template->process({ 'foo' => 'bar'});
print "Content-type: text/html\n\n";
print Encode::encode('latin1', $html);
Cheers!
William
--
Knowmad Services Inc.
http://www.knowmad.com
More information about the Petal
mailing list