Project

General

Profile

Anomalie #2804

Formulaire "Modifier le document" et site en iso-8859-1

Added by Frédéric Séguret over 6 years ago. Updated almost 6 years ago.

Status:
Fermé
Priority:
Normal
Assignee:
-
Target version:
Start date:
07/24/2012
Due date:
% Done:

0%

Resolution:
fixed
Navigateur:

Description

Sur un site configuré en iso-8859-1 sous l'espace privé, en faisant Document > Modifier le document (/ecrire/?exec=document_edit&id_document=...), l'enregistrement du formulaire conduit à la perte des caractères accentués.

Cela ne se produit pas si le site est en utf-8 (ecrire/?exec=configurer_langue).

accents spip.exe (270 KB) Eric Guelen, 09/29/2012 10:35 AM

Associated revisions

Revision 20519 (diff)
Added by cedric@yterium.com almost 6 years ago

Ferme #2804 : les post AJAX sur un site iso-truc sont présumés en utf et importés dans le charset local par _request(). Mais ce n'est pas forcément le cas et le test de la preg n'est pas fiable, ce qui supprime des accents bien encodés a tort.
On complète le test par un is_utf8() plus fiable ce qui résoud mon cas test sur edition d'un document, titre : "titre avé un accent"
A noter que le bug n'était pas systématique sur un même site (certains post passant sans problème, d'autres non). Cela peut venir du type de formulaire qui est posté parfois par une iframe en cas d'upload.

Revision 20582 (diff)
Added by cedric@yterium.com almost 6 years ago

Report de r20519 : Ferme #2804 : les post AJAX sur un site iso-truc sont présumés en utf et importés dans le charset local par _request(). Mais ce n'est pas forcément le cas et le test de la preg n'est pas fiable, ce qui supprime des accents bien encodés a tort.
On complète le test par un is_utf8() plus fiable ce qui résoud mon cas test sur edition d'un document, titre : "titre avé un accent"
A noter que le bug n'était pas systématique sur un même site (certains post passant sans problème, d'autres non). Cela peut venir du type de formulaire qui est posté parfois par une iframe en cas d'upload.

History

#1 Updated by b b over 6 years ago

  • Project changed from SPIP to Medias

#2 Updated by cedric - over 6 years ago

  • Target version set to 3.0

#3 Updated by cedric - over 6 years ago

Le problème n'apparait-il que sur lors de l'édition des documents ? Cela ne se produit pas sur les articles par exemple ?

#4 Updated by Eric Guelen over 6 years ago

Si sur les articles aussi.

#5 Updated by Eric Guelen over 6 years ago

Voici ci joint une petite vidéo qui montre le problème de la perte des accents lors de la modification d'articles.

#6 Updated by Thierry Horizons over 6 years ago

Bonjour,
je me permet d'intervenir dans ce fil, puisque c'est un truc que j'ai eu suite à une modification intempestive de ma part. Ceci étant la suite de l'anomalie #2801. Site en ISO-8859-1, base en ISO-8859-1 (depuis la version 1.4).
Donc,
- j'ai modifié ajaxCallback.js parce que la pagination ajax sur le résultat de la recherche ne fonctionnait pas lorsque la recherche portait sur un mot accentué, "plutôt" => page=recherche&recherche=plut%F4t en URL qui se plante dans decodeURIComponent.
- j'ai modifié recherche_to_array.php, pour utiliser translitteration au lieu de translitteration_rapide, parce que le calcul des points dans la recherche conduisait à comparer la demande "plutôt" transformée en "plutot" avec tous les "plutôt" du texte => seuls les textes avec des erreurs d'accentuation ressortaient.

Jusque là, tout fonctionnait bien, dans l'espace privé et public.

- on m'a demandé de rajouter un formulaire de contact, je suis reparti des formulaires ecrire_auteur (ajax) dans la distrib pour faire mon formulaire contact appelé par #FORMULAIRE_CONTACT dans ma page.
Et lorsque j'ai testé, tous les caractères spéciaux (accents) disparaissait à la prévisualisation, j'ai tracé le problème, et j'ai vu que c'était la fonction _request() (inc/utils.php) qui me shootait les accents, en mettant return $a avant le test sur _AJAX, le formulaire fonctionnait correctement.
Et c'est là que j'en viens, en faisant cette modif, je perdais tous les accents dans l'espace privé, dès que je modifiais un article, paf, tous les accents dégageaient. J'ai pas poursuivi plus loin les investigations, je n'ai pas compris pourquoi tout fonctionnait dans l'espace privé mais pas dans l'espace public ou vice-versa, j'ai juste changé ma verrue en if (!test_espace_prive()) return $a; et du coup tout fonctionne dans l'espace privé et public. Mais bien sûr ceci est lié à ma configuration, ce n'est pas vraiment la bonne solution (je ne pense pas), c'est juste pour montrer une piste dans vos recherches.

#7 Updated by Eric Guelen over 6 years ago

Pour ajouter peut être une piste aussi.
Si j'écris en partie publique un texte avec accent à l'aide du plugin Crayon, les accents ne disparaissent pas.
C'est que je dois faire d'ailleurs pour ajouter un article à mon site actuellement

#8 Updated by Eric Guelen over 6 years ago

Le problème se pose aussi sur les commentaires d'articles.
Donc tous les commentaires sont sans accents.

#9 Updated by Eric Guelen about 6 years ago

Bonjour,

Juste pour signaler que j'ai résolu mon problème d'accent en migrant le site en UTF-8 grâce à cette méthode :

http://wikitice.ac-versailles.fr/index.php?title=Mise_a_jour_SPIP3

#10 Updated by guytarr ° about 6 years ago

Etant donné le grand nombre de bugs avec isotruc, je me demande si on ne rendrait pas service aux gens en indiquant clairement de passer en utf-8 avant de monter en version et qu'on ne supporte plus isotruc en SPIP3

#11 Updated by cedric - almost 6 years ago

  • Status changed from Nouveau to Fermé
  • Resolution set to fixed

La migration UTF8 est en effet conseillée mais ne doit pas être obligatoire.

Also available in: Atom PDF