Bonjour,

J'ai un souci d'accents lors du remplissage d'un formulaire.

Le formulaire est rempli, le contenu passe par une fonction javascript qui charge une page en ajax. Cette page enregistre les données dans un bd mySQL et envoie un mail de confirmation.

Tout ceci est en UTF-8 et fonctionne très bien avec tous les navigateurs sauf Internet explorer.

En ajoutant des utf8_decode et une fonction javascript j'ai réussi à la faire fonctionner sur IE mais du coup plus sur les autres navigateurs.

Le problème sur IE c'est qu'il coupe le mot au niveau de l'accent dans la base de donnée et il remplace l'accent par un ? dans l'email.

Quelqu'un aurait-il piste?

Merci de votre aide.
Alors difficile à dire. En fait j'ai mis un formulaire sur mon site mais il y a des centaines d'utilisateurs qui l'utilise. Je pense que le problème ne doit pas être au niveau de leur configuration de IE.
Il faudrait vérifier plusieurs points:
- Il faut vérifier le header HTTP de ta page. Sous Firefox, tu peux passer par le menu Outils>WebDeveloper>Informations>En-têtes HTTP (là j'ai doute. Est-ce qu'il faudrait pas le plugin WebDeveloper pour avoir ce menu??)
- Il faut vérifier l'encodage de ta page contenant ton formulaire (tu peux utiliser notepad++ pour le faire).

Au fait, tu peux nous mettre le lien vers ton formulaire?
Modifié par titchagcreation (07 Dec 2011 - 19:58)
Le header est bon, et l'encodage de la page aussi.
Je pense que le problème est au moment ou je passe les informations en ajax.

En fait le formulera est chargé en ajax, puis l'utilisateur le rempli. Ensuite il l'envoie à une fonction javascript qui charge une page en ajax en passant le contenu du formulaire en variables sur le chargement de la page (ajax.php?nom=monnom&prenom=monprenom...)
Je pense que c'est là qu'il y a un problème.
Ensuite la page ajax sauvegarde dans la base de données et envoie un mail.
Si l'utilisateur est sur IE, dans la base de donnée un mot avec accent est coupé au l'accent et le mail envoie un point d'interrogation à la place de l'accent. Comme ceci:
Exemple avec Céline, dans la base de donnée on aura "C" et dans le mail "C?line".

Merci
Et est-ce que le fichier ajax.php est encodé en UTF-8?
On est bien d'accord que l'encodage d'un fichier (rien à voir avec ce qui est dans l'en-tête du code HTML) peut-être différent de ce que le serveur renvoie au navigateur web.
Si t'as un fichier encodé en ISO et que le serveur envoie de l'UTF-8, il peut y avoir problème avec IE. Ces problèmes d'encodage, je les ai souvent rencontré aussi avec IE.

Je t'avoue que ça serait peut-être plus simple en jetant un coup d'oeil à ta page web.