On 2 March 2011 11:29, yuppie <y.2011@wcm-solutions.de> wrote:
Laurence Rowe wrote:
On 2 March 2011 10:00, yuppie<y.2011@wcm-solutions.de> wrote:
Martin Aspeli wrote:
I don't know what setPageEncoding() does, though.
It sets a response Content-Type header with the first charset processInputs tries for decoding.
Is the charset of the request necessarily the right choice for the response? In Plone we always serve UTF-8 encoded.
getPreferredCharsets()[0] always returns 'utf-8' **if** UTF-8 is accepted.
If 'utf-8' is not in getPreferredCharsets(), it is not very likely that the browser speaks UTF-8 and processInputs will not even try to decode with UTF-8. In that case it might be better to respond with an accepted encoding.
If you serve differently encoded pages then you should set Vary: Accept-Charset. But then without normalization you'd get an explosion of different page variations. Without the Vary, it means that a visitor can poison the cache by supplying (only) a weird charset in Accept-Encoding. The page would then be served in this encoding, cached downstream, and if other visitor's browsers don't support that charset then they have a problem. Laurence