Suppression des caractères accentués.

Résolu
smathis Messages postés 153 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 17 juin 2011 - 18 mai 2011 à 14:21
smathis Messages postés 153 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 17 juin 2011 - 25 mai 2011 à 11:52
Bonjour,

Je conçois une appli web et donc je suis naturellement amené à demander aux utilisateurs d'insérer des informations. J'utilise donc des input de type=text.
Après un clic sur un lien, j’exécute une fonction javascript qui récupère les valeurs de ces inputs et les envoie avec AJAX au serveur qui insère ou modifie les infos dans la base de données.
Le problème est que en cours de route, les caractères accentués ont disparu, et bien sûr, seulement avec IE. Sinon c'est pas amusant
J'ai un peu de mal à résoudre ce problème étant donné que j'ai aucune idée de comment il peut se produire.

Évidemment, mon code fonctionne sur Chrome, FF, Safari et Opera.

Merci d'avance d'avoir lu, et encore d'avantage si vous répondez.

4 réponses

smathis Messages postés 153 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 17 juin 2011 5
24 mai 2011 à 14:08
Merci de ta réponse Julien, je la vois un peu tard, j'ai résolu le problème en changeant l'UTF8 pour du iso-8859-1, l'appli sera de toutes façons seulement destinées pour des français/anglais dans la boite.
3
007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 4
23 mai 2011 à 20:03
L'utilisation de la fonction encodeURIComponent en javascript devrait permettre de résoudre cette question sans nécessairement avoir a décoder en PHP (voir l'avertissement de cette page).
0
007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 4
24 mai 2011 à 18:14
Pour travailler en utf-8 plusieurs conditions sont indispensables et notamment :
1/- Un charset dans les pages HTML
<meta content="text/html; Charset=UTF-8" http-equiv="Content-Type" /> 

2/- Un header en PHP
header('Content-Type: text/html; charset=utf-8');

3/- Configurer l'éditeur en utf-8 sans BOM.

Ensuite en Mysql c'est plus complexe (il faut pour être exhaustif modifier les interclassements de la base, des tables, des colonnes) mais l'instruction après connexion SET NAMES UTF8 règle souvent tous les problèmes...

Bonne continuation.
0
smathis Messages postés 153 Date d'inscription lundi 22 mars 2010 Statut Membre Dernière intervention 17 juin 2011 5
25 mai 2011 à 11:52
J'avais bien mis l'entête html, l’équivalent du header en asp, et sauvegarder mes fichiers en utf8 sans BOM.
J'utilise une base Access, que je n'ai pas créé moi même, mais si ça passait avec FF & co, ce n’était pas la base qui était en cause.
0
Rejoignez-nous