[Templates] UTF8 support and issues

Mark Proctor m.proctor@bigfoot.com
Tue, 19 Nov 2002 12:12:26 -0000


This is a multi-part message in MIME format.

------=_NextPart_000_000C_01C28FC4.F1377260
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

I've been going through the source code trying to understand the flow of
information, placing print statements everwhere. I have identified in
the ttc file where you can see the same command, one with correct
output, one mangled(as part of he output string) - I have included a jpg
file to illustrate this:

    eval { BLOCK: {
    print "text3", $stash->get(['validFields', 0, 'itemText', 0]),
"<br>\n";
...
...
$output .=  "...itemText2:";
$output .=  $stash->get(['validFields', 0, 'itemText', 0]);

-----Original Message-----
From: templates-admin@template-toolkit.org
[mailto:templates-admin@template-toolkit.org] On Behalf Of Mark Proctor
Sent: 18 November 2002 16:30
To: 'Mark Proctor'; templates@template-toolkit.org
Subject: RE: [Templates] UTF8 support and issues


Sorry that's template toolkit 2.06

Mark

-----Original Message-----
From: templates-admin@template-toolkit.org
[mailto:templates-admin@template-toolkit.org] On Behalf Of Mark Proctor
Sent: 18 November 2002 15:48
To: templates@template-toolkit.org
Subject: [Templates] UTF8 support and issues


I am having problems with UTF8 code in my website. I have set UTF-8 for
both my page header Content-type and META content-Type tag. I retrieve
my form value from CGI and print that from perl, just before template
toolkit processes a page - it prints perfectly. I then print the same
variable within template toolkit and it prints garbled.

Is there something I need to do to tell template toolkit to use utf8?
Will upgrading to the latest version fix this? We have:
Perl5.6.1
template toolkit 2.04

------page content-type----------
print "Content-type: text/html; charset=UTF-8\n\n";
------meta content-Type----------
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
-------prints correctly before page is processed---------
print "itemText1", $self->{vars}->{validFields}->{itemText}, "<br>\n";
$self->{template}->process($self->{page}, $self->{vars}) || die
"Template process files: ", $self->{template}->error(), "\n";
-------prints garbled---------
itemText2:[%validFields.itemText%]<br>

Regards

Mark


_______________________________________________
templates mailing list
templates@template-toolkit.org
http://lists.ourshack.com/mailman/listinfo/templates


_______________________________________________
templates mailing list
templates@template-toolkit.org
http://lists.ourshack.com/mailman/listinfo/templates

------=_NextPart_000_000C_01C28FC4.F1377260
Content-Type: image/jpeg;
	name="utf8.jpg"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="utf8.jpg"

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

------=_NextPart_000_000C_01C28FC4.F1377260--