Salut à tous!

Lorsque du texte comporte une espace insécable (code ASCII 160 ou %A0 ou Alt+0160), ce dernier, en toute logique, est distingué de l'espace tout court. C'est ce que fait le code PHP suivant, par exemple:

<?php
$chaine='espace insécable'; // Alt+0160 entre les deux mots
$chaine_convertie=htmlentities($chaine); // Conversion de la chaîne de caractères en entités HTML (pour coder les caractères spéciaux)
echo $chaine_convertie; // Affiche dans le code source espace&nbsp;ins&eacute;cable
?>


Or, si, dans un formulaire, je tape du texte comportant des espaces insécables (que ce soit dans un champ <input type="text"> ou dans un champ <textarea>), le code ci-dessus, en récupérant ce que j'ai saisi, récupère des espaces insécables traitées comme des espaces ordinaires (comme si j'avais tapé "espace ins&eacute;cable", et non "espace&nbsp;ins&eacute;cable")! Smiley eek

Les formulaires seraient-ils donc allergiques à l'espace insécable?
Bonjour !

Oui, j'ai aussi remarqué ce problème. A mon avis, c'est la navigateur qui convertit les espaces insécables en espaces normaux, et il n'y a donc pas de solution...
Salut!

Eldebaran a écrit :
Oui, j'ai aussi remarqué ce problème. A mon avis, c'est la navigateur qui convertit les espaces insécables en espaces normaux, et il n'y a donc pas de solution...


Après t'avoir lu, j'ai effectué l'essai non seulement avec Firefox, mais aussi avec Opera et IE (6 et 7). Opera et IE (aussi bien la version 6 que la 7) prennent en charge l'espace insécable sur les formulaires Smiley smile , mais pas Firefox. Smiley fache
Modifié par Victor BRITO (03 Nov 2006 - 16:54)
Victor BRITO a écrit :
Après t'avoir lu, j'ai effectué l'essai non seulement avec Firefox, mais aussi avec Opera et IE (6 et 7). Opera et IE (aussi bien la version 6 que la 7) prennent en charge l'espace insécable sur les formulaires Smiley smile , mais pas Firefox. Smiley fache
Merci pour l'info ! As-tu essayé avec Firefox 2 ?

Considères-tu le sujet comme résolu ?
Eldebaran a écrit :
Merci pour l'info ! As-tu essayé avec Firefox 2 ?


Oui.

Eldebaran a écrit :
Considères-tu le sujet comme résolu ?


J'attends de voir si quelqu'un connaît une bidouille pour le renard en feu; sinon, je connais le règlement sur ce point. Smiley cligne
FlorentG a écrit :
Etrange, j'utilise souvent des alt+160 quand je poste, et ça a toujours fonctionné Smiley confus
Si pour toi "fonctionner" c'est "être transformés en espaces normaux", en effet, ça fonctionne. Smiley langue
Bon, ben un test rapide s'impose

Ceci est un test !

EDIT : En effet, ça ne marche pas, mais c'est le navigateur qui les convertit automatiquement. Impossible d'y changer quoi que ce soit, la modification est faite dès la soumission.
Modifié par QuentinC (09 Nov 2006 - 06:00)
Salut!

D'après mes constatations, Internet Explorer respecte le mieux les caractères spéciaux qu'on peut saisir dans un champ de formulaire, mieux qu'Opera. En effet, lorsqu'on saisit le mot cœur et qu'on applique le script PHP suivant:


<?php
// Valeur récupérée dans le champ du formulaire
$champ='cœur à prendre'; // La première espace est insécable (alt+0160)
$affichage=str_replace('œ', 'œ', $champ);
echo $affichage;
?>


Internet Explorer (6 et 7) affichera "cœur à prendre" à l'écran et "cœur à prendre" dans le code source, Firefox "cœur à prendre" à l'écran et "cœur à prendre" dans le code source, et Opera "cœur à prendre" à l'écran et "c&#339;ur à prendre" dans le code source.

Soit dit en passant, les essais ont été effectués sur une page encodée en iso-8859-1.
Eldebaran a écrit :
Si pour toi "fonctionner" c'est "être transformés en espaces normaux", en effet, ça fonctionne. Smiley langue

Nana, je confirme les espaces insécables. Genre dès que je vois un double-point à la ligne, je rééedit et je corrige en mettant un insécable, et ça fonctionne à chaque fois Smiley confus

Du moins sur hardware.fr Smiley lol
Modifié par FlorentG (16 Nov 2006 - 19:39)
Curieux, parce qu'avec Firefox (depuis la 1.0 jusqu'à la 2, sous Win32) moi non plus je n'ai jamais réussi à insérer naturellement une espace insécable dans un formulaire.

Smiley decu
Bonjour,

c'est mon premier message ici.

Mozilla et Firefox ont effectivement ce problème. C'est un des "vieux bugs" qui traînent depuis des années. Il a posé, et pose encore, pas mal de problème a des sites comme Wikipédia.

La bonne nouvelle est qu'il a été corrigé: Firefox 3 (et ses alphas) n'ont plus ce bug.

La mauvaise nouvelle est que, pour le corriger, il a fallu une interface interne de Firefox et que Firefox 2 avait comme cahier des charges de ne pas le faire (pour assurer une meilleure pérennité des extensions). Aussi Fx 2 a toujours ce bug et il ne sera pas corrigé dans une release mineure.

Bonne journée,

(Je n'ai pas l'entrée dans bugzilla correspondant sous la main, malheureusement)