Bug #30995
actesweb: erreur d'encodage des données du formulaire
Début:
28 février 2019
Echéance:
% réalisé:
100%
Temps estimé:
Patch proposed:
Oui
Planning:
Description
Erreur en production:
UnicodeEncodeError 'charmap' codec can't encode character u'\u2019' in position 121: character maps to <undefined> Django Version: 1.11.18 Exception Type: UnicodeEncodeError Exception Value: 'charmap' codec can't encode character u'\u2019' in position 121: character maps to <undefined> Exception Location: /usr/lib/python2.7/encodings/iso8859_15.py in encode, line 12 Python Executable: /usr/bin/uwsgi-core Python Version: 2.7.13 Python Path: ['.', '', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/odf', '/usr/lib/python2.7/dist-packages/odf', '/usr/lib/python2.7/dist-packages/odf', '/usr/lib/python2.7/dist-packages/odf', '/usr/lib/python2.7/dist-packages/odf', '/usr/lib/python2.7/dist-packages/odf', '/usr/lib/python2.7/dist-packages/odf'] Server time: jeu, 28 Fév 2019 14:06:24 +0100 Unicode error hint The string that could not be encoded/decoded was: NOM=L’hôte
Fichiers
Révisions associées
actesweb: work-around not latin15 encodable characters (fixes #30995)
Historique
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Fichier 0002-actesweb-work-around-not-latin15-encodable-character.patch 0002-actesweb-work-around-not-latin15-encodable-character.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
- Fichier 0001-tests-non-regression-30995.patch 0001-tests-non-regression-30995.patch ajouté
J'utilise unidecode pour au maximum retrouver le caractère approchant, sinon je met des ?.
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Fichier 0001-tests-non-regression-30995.patch 0001-tests-non-regression-30995.patch ajouté
- Fichier 0002-actesweb-work-around-not-latin15-encodable-character.patch 0002-actesweb-work-around-not-latin15-encodable-character.patch ajouté
J'ai améliore mon test pour valider le passage vers ?.
Je me demande si je ne modifierai pas to_encoding_with_fallback() pour un ensure_encodable(s, encoding) qui retournerait de l'unicode (pour éviter le .decode('iso-8859-15') dans le code qui est moche.
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Fichier 0001-tests-non-regression-30995.patch 0001-tests-non-regression-30995.patch ajouté
- Fichier 0002-actesweb-work-around-not-latin15-encodable-character.patch 0002-actesweb-work-around-not-latin15-encodable-character.patch ajouté
Avec une fonction ensure_encoding(unicode, encoding).
Mis à jour par Serghei Mihai il y a environ 5 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Statut changé de Solution validée à Résolu (à déployer)
- % réalisé changé de 0 à 100
Appliqué par commit f2e7add34b035c0837e7606c56d46ba6095be671.
Mis à jour par Frédéric Péters il y a environ 5 ans
- Statut changé de Résolu (à déployer) à Solution déployée
Mis à jour par Benjamin Dauvergne il y a environ 5 ans
- Statut changé de Solution déployée à Fermé
tests: non-regression (#30995)