tal:content="structure... and unicode... How to get it work in Zope 2.10.4 ?
Hi, I'm having a hard time with page templates using unicode. Here is a simple example: - create a page template called dejavu Encoding is utf-8. Check also your browser character encoding to be set to unicode as well. - put this into the page template.: IMPORTANT: Since this discussion is in ASCII, I can't write the correct deja vu string here. When testing please use the correct spelling. See http://en.wikipedia.org/wiki/Dejavu :-) <span tal:replace="structure python:u'deja vu'"></span> When I test this template i will not get deja vu but instead garbled characters for e and a. Why is this ? Greetings, - Andreas
--On 25. Juli 2007 14:34:49 +0200 Andreas Elvers <andreas@work.de> wrote:
Hi,
I'm having a hard time with page templates using unicode.
Here is a simple example:
- create a page template called dejavu Encoding is utf-8. Check also your browser character encoding to be set to unicode as well.
- put this into the page template.: IMPORTANT: Since this discussion is in ASCII, I can't write the correct deja vu string here. When testing please use the correct spelling. See http://en.wikipedia.org/wiki/Dejavu :-)
<span tal:replace="structure python:u'deja vu'"></span>
When I test this template i will not get deja vu but instead garbled characters for e and a.
Works for me. If you think this is a bug, please file a bugreport including a unittest that demonstrates the broken behavior. -aj
--On 25. Juli 2007 14:34:49 +0200 Andreas Elvers <andreas@work.de> wrote:
Hi,
I'm having a hard time with page templates using unicode.
Here is a simple example:
- create a page template called dejavu Encoding is utf-8. Check also your browser character encoding to be set to unicode as well.
- put this into the page template.: IMPORTANT: Since this discussion is in ASCII, I can't write the correct deja vu string here. When testing please use the correct spelling. See http://en.wikipedia.org/wiki/Dejavu :-)
<span tal:replace="structure python:u'deja vu'"></span>
When I test this template i will not get deja vu but instead garbled characters for e and a.
Why is this ?
Likely because you're using the u'...' notation. However I have no clue why do you want to work with unicode strings this way...this looks somewhat artificial (independent of the behavior). -aj
Andreas Jung wrote:
<span tal:replace="structure python:u'deja vu'"></span>
Likely because you're using the u'...' notation. However I have no clue why do you want to work with unicode strings this way...this looks somewhat artificial (independent of the behavior).
You are right. The u'...' notation does no good in a page template. It was just a test to understand unicode strings in page templates. Moving the string out into a python script and calling the template gives me deja vu as expected. example script: mystring = u'déjà vu' return context.template(mystring=mystring) example template: mystring: <span tal:replace="structure options/mystring"></span> Thanks, - Andreas
--On 25. Juli 2007 15:12:37 +0200 Andreas Elvers <andreas@work.de> wrote:
Andreas Jung wrote:
<span tal:replace="structure python:u'deja vu'"></span>
Likely because you're using the u'...' notation. However I have no clue why do you want to work with unicode strings this way...this looks somewhat artificial (independent of the behavior).
You are right. The u'...' notation does no good in a page template. It was just a test to understand unicode strings in page templates.
Moving the string out into a python script and calling the template gives me deja vu as expected.
example script: mystring = u'déjà vu' return context.template(mystring=mystring)
example template: mystring: <span tal:replace="structure options/mystring"></span>
or use python: unicode(...) inside TALES - BUT ONLY if necessary. Andreas
participants (2)
-
Andreas Elvers -
Andreas Jung