Benjamin Klups a écrit :
> Apparemment cela doit venir de l'encodage de mon navigateur
> Avec Safari sous Mac OS X.5 ça ne fonctionne pas, avec firefox ça marche
>
En fait le problème est le suivant. Certains navigateurs (je pensais IE
uniquement) on un problème avec formlib et l'encodage. En effet ils
renvoie le formulaire en déclarant que c'est de l'iso mais ils renvoient
de l'utf-8 (ou le contraire :-D) Donc le problème est au niveau de la
saisie. Donc ça peut se vérifier : un texte de portlet saisie avec
Firefox devrait s'afficher correctement même avec Safari.
Le problème vient de Zope publisher. À priori il est corrigé ici :
http://svn.zope.org/zope.publisher/trunk/src/zope/publisher/http.py?rev=84616&r1=82493&r2=84616<
http://svn.zope.org/zope.publisher/trunk/src/zope/publisher/http.py?rev=84616&r1=82493&r2=84616>
mais pas encore à jour dans Zope 2
Le monkey patch un peu bourrin mais qui va bien (si on est en utf-8) ::
from ZPublisher.HTTPResponse import HTTPResponse
import re
old = HTTPResponse._encode_unicode
rec = re.compile(r'(?:application|text)/[-+0-9a-z]+\s*;\s*' +
r'charset=([-_0-9a-z]+' +
r')(?:(?:\s*;)|\Z)',
re.IGNORECASE)
def patched(self,body,charset_re=rec):
# force utf-8
if "content-type" in self.headers:
self.headers["content-type"] = (
self.headers["content-type"].replace("iso-8859-1", "utf-8"))
return old(self,body,charset_re)
HTTPResponse._encode_unicode = patched
Alex
--
Alexandre Garel -
[hidden email]
Pilot Systems - 9, rue Desargues - 75011 Paris
Tel : +33 1 44 53 05 55 -
http://www.pilotsystems.netHébergement Zope et Plone gratuit -
http://www.objectis.org_______________________________________________
Plone-FR mailing list
[hidden email]
http://lists.plone.org/mailman/listinfo/plone-fr