compte tenu des précédentes discussions sur les frameworks de
développement web, je suis en train d'expérimenter turbogears.
J'ai suivi le tutoriel "wiki 20 minutes" qui permet de créer la base
d'un wiki et je rencontre un petit problème lorsque je saisis une chaîne
contenant des accents dans une page du wiki qui est stocké en base
(SQLite pour mon essai) dans une StringCol.
Pas de problème pour la saisie et la mise en base, ni pour l'affichage.
Par contre quand j'essaie de modifier le texte, j'ai une exception lors
du remplissage d'un champ edit de formulaire car mon accent ne fait pas
partie du jeu ascii.
Comme jusqu'alors je me cantonnais au python "simple" en console, je
suis en même temps en train de découvrir cherryPy, SQLObject, Kid et
toutes les différentes briques de turbogears, je n'ai pas perdu trop de
temps sur ce détail.
Un petit coup de pouce pour me mettre sur la voie de ce problème
d'encodage ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier
Hello,
J'ai suivi le tutoriel "wiki 20 minutes" qui permet de créer la base d'un wiki et je rencontre un petit problème lorsque je saisis une chaîne contenant des accents dans une page du wiki qui est stocké en base (SQLite pour mon essai) dans une StringCol.
Pas de problème pour la saisie et la mise en base, ni pour l'affichage. Par contre quand j'essaie de modifier le texte, j'ai une exception lors du remplissage d'un champ edit de formulaire car mon accent ne fait pas partie du jeu ascii.
Un petit coup de pouce pour me mettre sur la voie de ce problème d'encodage ?
Utilise plutôt une UnicodeCol. Ensuite, je suppose qu'il faut demander à TG de régénérer le schéma. Sinon, je trouve que tout déclarer en utf-8 (les templates et les scripts) simplifie les choses.
Bon courage,
Olivier
Hello,
J'ai suivi le tutoriel "wiki 20 minutes" qui permet de créer la base
d'un wiki et je rencontre un petit problème lorsque je saisis une chaîne
contenant des accents dans une page du wiki qui est stocké en base
(SQLite pour mon essai) dans une StringCol.
Pas de problème pour la saisie et la mise en base, ni pour l'affichage.
Par contre quand j'essaie de modifier le texte, j'ai une exception lors
du remplissage d'un champ edit de formulaire car mon accent ne fait pas
partie du jeu ascii.
Un petit coup de pouce pour me mettre sur la voie de ce problème
d'encodage ?
Utilise plutôt une UnicodeCol. Ensuite, je suppose qu'il faut demander à
TG de régénérer le schéma.
Sinon, je trouve que tout déclarer en utf-8 (les templates et les
scripts) simplifie les choses.
J'ai suivi le tutoriel "wiki 20 minutes" qui permet de créer la base d'un wiki et je rencontre un petit problème lorsque je saisis une chaîne contenant des accents dans une page du wiki qui est stocké en base (SQLite pour mon essai) dans une StringCol.
Pas de problème pour la saisie et la mise en base, ni pour l'affichage. Par contre quand j'essaie de modifier le texte, j'ai une exception lors du remplissage d'un champ edit de formulaire car mon accent ne fait pas partie du jeu ascii.
Un petit coup de pouce pour me mettre sur la voie de ce problème d'encodage ?
Utilise plutôt une UnicodeCol. Ensuite, je suppose qu'il faut demander à TG de régénérer le schéma. Sinon, je trouve que tout déclarer en utf-8 (les templates et les scripts) simplifie les choses.
Bon courage,
Olivier
Sébastien Kirche
Le >07/24/2006 5:28:49 PM +0200, >Olivier disait :
Utilise plutôt une UnicodeCol. Ensuite, je suppose qu'il faut demander à TG de régénérer le schéma.
Sinon, je trouve que tout déclarer en utf-8 (les templates et les scripts) simplifie les choses.
Bon courage,
Merci pour tes encouragements. Je crois que l'unicodification (ça se dit ?) doit être la solution au problème, mais un problème persiste.
Je suis retourné sur le tutoriel wiki 20, j'ai consulté le wiki turbogears qui préconise également l'utf-8 et j'ai fini par upgrader turbogears sur la version de dev actuelle (0.9a8). J'ai pu au passage me faire scotcher par les fonctionnalités de CatWalk et ModelDesigner (ajax ?) J'ai recommencé le tutoriel mis à jour pour la nouvelle version mais je bute sur un souci identique d'insérer un caractère accentué dans un edit lorsqu'on passe dans la méthode edit de controllers.py. Je pense que le problème est en cours de traitement dans cette alpha.
En attendant je vais éviter les accents.
Pour info : voici la backtrace :
500 Internal error
The server encountered an unexpected condition which prevented it from fulfilling the request.
Page handler: <bound method Root.index of <wiki20.controllers.Root object at 0x0169A970>> Traceback (most recent call last): File "c:python24libsite-packagesCherryPy-2.2.1-py2.4.eggcherrypy_cphttptools.py", line 105, in _run self.main() File "c:python24libsite-packagesCherryPy-2.2.1-py2.4.eggcherrypy_cphttptools.py", line 254, in main body = page_handler(*virtual_path, **self.params) File "<string>", line 3, in index File "c:python24libsite-packagesTurboGears-0.9a8-py2.4.eggturbogearscontrollers.py", line 331, in expose output = database.run_with_transaction( File "<string>", line 5, in run_with_transaction File "c:python24libsite-packagesTurboGears-0.9a8-py2.4.eggturbogearsdatabase.py", line 245, in so_rwt retval = func(*args, **kw) File "<string>", line 5, in _expose File "c:python24libsite-packagesTurboGears-0.9a8-py2.4.eggturbogearscontrollers.py", line 348, in <lambda> mapping, fragment, *args, **kw))) File "c:python24libsite-packagesTurboGears-0.9a8-py2.4.eggturbogearscontrollers.py", line 382, in _execute_func return _process_output(output, template, format, content_type, mapping, fragment) File "c:python24libsite-packagesTurboGears-0.9a8-py2.4.eggturbogearscontrollers.py", line 69, in _process_output tg_flash = _get_flash() File "c:python24libsite-packagesTurboGears-0.9a8-py2.4.eggturbogearscontrollers.py", line 412, in _get_flash message = unicode(message, 'utf-8') UnicodeDecodeError: 'utf8' codec can't decode bytes in position 23-25: invalid data
-- Sébastien Kirche
Le >07/24/2006 5:28:49 PM +0200, >Olivier <om@oliviermigeon.com> disait :
Utilise plutôt une UnicodeCol. Ensuite, je suppose qu'il faut demander à
TG de régénérer le schéma.
Sinon, je trouve que tout déclarer en utf-8 (les templates et les
scripts) simplifie les choses.
Bon courage,
Merci pour tes encouragements.
Je crois que l'unicodification (ça se dit ?) doit être la solution au
problème, mais un problème persiste.
Je suis retourné sur le tutoriel wiki 20, j'ai consulté le wiki
turbogears qui préconise également l'utf-8 et j'ai fini par upgrader
turbogears sur la version de dev actuelle (0.9a8). J'ai pu au passage me
faire scotcher par les fonctionnalités de CatWalk et ModelDesigner (ajax ?)
J'ai recommencé le tutoriel mis à jour pour la nouvelle version mais je
bute sur un souci identique d'insérer un caractère accentué dans un edit
lorsqu'on passe dans la méthode edit de controllers.py.
Je pense que le problème est en cours de traitement dans cette alpha.
En attendant je vais éviter les accents.
Pour info : voici la backtrace :
500 Internal error
The server encountered an unexpected condition which prevented it from fulfilling the request.
Page handler: <bound method Root.index of <wiki20.controllers.Root object at 0x0169A970>>
Traceback (most recent call last):
File "c:python24libsite-packagesCherryPy-2.2.1-py2.4.eggcherrypy_cphttptools.py", line 105, in _run
self.main()
File "c:python24libsite-packagesCherryPy-2.2.1-py2.4.eggcherrypy_cphttptools.py", line 254, in main
body = page_handler(*virtual_path, **self.params)
File "<string>", line 3, in index
File "c:python24libsite-packagesTurboGears-0.9a8-py2.4.eggturbogearscontrollers.py", line 331, in expose
output = database.run_with_transaction(
File "<string>", line 5, in run_with_transaction
File "c:python24libsite-packagesTurboGears-0.9a8-py2.4.eggturbogearsdatabase.py", line 245, in so_rwt
retval = func(*args, **kw)
File "<string>", line 5, in _expose
File "c:python24libsite-packagesTurboGears-0.9a8-py2.4.eggturbogearscontrollers.py", line 348, in <lambda>
mapping, fragment, *args, **kw)))
File "c:python24libsite-packagesTurboGears-0.9a8-py2.4.eggturbogearscontrollers.py", line 382, in _execute_func
return _process_output(output, template, format, content_type, mapping, fragment)
File "c:python24libsite-packagesTurboGears-0.9a8-py2.4.eggturbogearscontrollers.py", line 69, in _process_output
tg_flash = _get_flash()
File "c:python24libsite-packagesTurboGears-0.9a8-py2.4.eggturbogearscontrollers.py", line 412, in _get_flash
message = unicode(message, 'utf-8')
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 23-25: invalid data
Le >07/24/2006 5:28:49 PM +0200, >Olivier disait :
Utilise plutôt une UnicodeCol. Ensuite, je suppose qu'il faut demander à TG de régénérer le schéma.
Sinon, je trouve que tout déclarer en utf-8 (les templates et les scripts) simplifie les choses.
Bon courage,
Merci pour tes encouragements. Je crois que l'unicodification (ça se dit ?) doit être la solution au problème, mais un problème persiste.
Je suis retourné sur le tutoriel wiki 20, j'ai consulté le wiki turbogears qui préconise également l'utf-8 et j'ai fini par upgrader turbogears sur la version de dev actuelle (0.9a8). J'ai pu au passage me faire scotcher par les fonctionnalités de CatWalk et ModelDesigner (ajax ?) J'ai recommencé le tutoriel mis à jour pour la nouvelle version mais je bute sur un souci identique d'insérer un caractère accentué dans un edit lorsqu'on passe dans la méthode edit de controllers.py. Je pense que le problème est en cours de traitement dans cette alpha.
En attendant je vais éviter les accents.
Pour info : voici la backtrace :
500 Internal error
The server encountered an unexpected condition which prevented it from fulfilling the request.
Page handler: <bound method Root.index of <wiki20.controllers.Root object at 0x0169A970>> Traceback (most recent call last): File "c:python24libsite-packagesCherryPy-2.2.1-py2.4.eggcherrypy_cphttptools.py", line 105, in _run self.main() File "c:python24libsite-packagesCherryPy-2.2.1-py2.4.eggcherrypy_cphttptools.py", line 254, in main body = page_handler(*virtual_path, **self.params) File "<string>", line 3, in index File "c:python24libsite-packagesTurboGears-0.9a8-py2.4.eggturbogearscontrollers.py", line 331, in expose output = database.run_with_transaction( File "<string>", line 5, in run_with_transaction File "c:python24libsite-packagesTurboGears-0.9a8-py2.4.eggturbogearsdatabase.py", line 245, in so_rwt retval = func(*args, **kw) File "<string>", line 5, in _expose File "c:python24libsite-packagesTurboGears-0.9a8-py2.4.eggturbogearscontrollers.py", line 348, in <lambda> mapping, fragment, *args, **kw))) File "c:python24libsite-packagesTurboGears-0.9a8-py2.4.eggturbogearscontrollers.py", line 382, in _execute_func return _process_output(output, template, format, content_type, mapping, fragment) File "c:python24libsite-packagesTurboGears-0.9a8-py2.4.eggturbogearscontrollers.py", line 69, in _process_output tg_flash = _get_flash() File "c:python24libsite-packagesTurboGears-0.9a8-py2.4.eggturbogearscontrollers.py", line 412, in _get_flash message = unicode(message, 'utf-8') UnicodeDecodeError: 'utf8' codec can't decode bytes in position 23-25: invalid data
-- Sébastien Kirche
Sébastien Kirche
Le 24 July 2006 à 23:58, Sébastien Kirche a formulé :
Je pense que le problème est en cours de traitement dans cette alpha.
En attendant je vais éviter les accents.
En fait toutes le nouvelles fonctionnalités ne sont pas encore documentées.
J'ai réglé le problème en activant la ligne suivante du app.cfg :
kid.encoding="utf-8"
-- Sébastien Kirche
Le 24 July 2006 à 23:58, Sébastien Kirche a formulé :
Je pense que le problème est en cours de traitement dans cette alpha.
En attendant je vais éviter les accents.
En fait toutes le nouvelles fonctionnalités ne sont pas encore
documentées.
J'ai réglé le problème en activant la ligne suivante du app.cfg :