Page 1 sur 1

apostrophe qui se transforme en point d'interrogation

Posté : 30 juin 2021, 16:53
par ZBA
Bonjour,

Dans un champ texte, certaines apostrophes que je colle à partir d'un document word se transforment en point d'interrogation lorsque je soumets mon formulaire. Par contre, lorsque je sais manuellement un apostrophe tout se passe bien.
J'ai remarqué que les apostrophe qui se transforment en point d'interrogation ont un code 8216 en retour de charCodeAt, les autres ont un code 39.
J'ai donc écris ce petit code pour essayer de corriger:

for (var i = 0; i < sCommentaire.length; i++)
{
window.alert( "The character code "+ sCommentaire.charCodeAt(i) + " is equal to " + sCommentaire);
if (sCommentaire.charCodeAt(i) == 8216)
{
sCommentaire = String.fromCharCode(39);
window.alert ("remplacement de l'apostrophe " + sCommentaire.charCodeAt(i) + " commentaire: " + sCommentaire);
}
}
Le soucis est que le remplacement de l'apostrophe via sCommentaire = String.fromCharCode(39) semble ne pas fonctionner puisqu'il le réaffiche le code 8216 et que le point d'interrogation s'affiche à la place de l'apostrophe.

Pourriez-vous m'aider svp ?

Re: apostrophe qui se transforme en point d'interrogation

Posté : 01 juil. 2021, 14:36
par webmaster
Bonjour,

L'apostrophe de Word est une calamité bien connue
La solution dépend aussi de l'encodage de la page

Est-ce que la ligne suivante ne fonctionnerait pas :
txt=txt.replace("’", "'");

J'ai ajouté l'exemple dans le 2eme exemple de la page :
https://www.toutjavascript.com/referenc ... eplace.php