I would like to use utf-8 (latin-1) content in page templates like

  <p>Hier hätte ich gerne Umlaute etc.: Österreich, daß...</p>

("here I would like to have umlauts etc.")  I. e. I would like to have
default strings with German umlauts. - I was surprised this was not
possible in the first place

  'ascii' codec can't decode byte ... in position ...: ordinal not in range(128)

I tried several workarounds - none of them I liked very much:

* Using i18n I could successfully write

    <p i18n:translate="">hier-haette-ich</p>

  and define the German message strings in a .po file. - Actually this
  is starting with an English (ascii-only) default string
  ("hier-haette-ich") and than defining a German translation. - I
  wonder why it should not be possible the other way around (start
  with German default strings and later define the English
  translations). - Imagine a small German only site: Every string with
  umlauts has to go to the .po file: Quite some overhead.

* The p tag was successfully rendered when I used 

    <?xml version="1.0" encoding="utf-8"?>
  in the first line of the template (respectively
  encoding="iso-8859-1"). I don't like this approach for several
  reasons: The main reason is that IE will then interpret the page in
  quirks mode (instead of standards mode) - see e. g. Jeffry Zeldmans
  book "designing with web standards".

* I came up with a solution which obviously is not very elegant:
    <p tal:content="python: u'Hier hätte ich gerne ...'" />

  but it works for me if the string is in latin-1

What I would really like is the possibility of specifying the encoding when
registering the page:


I have not tried yet to render the page from a view class (how would I do that?)

Am I missing something?

Thanks in advance,
Zope3-users mailing list

Reply via email to