Suppression des caractères accentués. [Résolu]

Signaler
Messages postés
153
Date d'inscription
lundi 22 mars 2010
Statut
Membre
Dernière intervention
17 juin 2011
-
Messages postés
153
Date d'inscription
lundi 22 mars 2010
Statut
Membre
Dernière intervention
17 juin 2011
-
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

Messages postés
153
Date d'inscription
lundi 22 mars 2010
Statut
Membre
Dernière intervention
17 juin 2011
1
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.
Messages postés
276
Date d'inscription
mercredi 22 septembre 2010
Statut
Membre
Dernière intervention
8 janvier 2014
3
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).
Messages postés
276
Date d'inscription
mercredi 22 septembre 2010
Statut
Membre
Dernière intervention
8 janvier 2014
3
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.
Messages postés
153
Date d'inscription
lundi 22 mars 2010
Statut
Membre
Dernière intervention
17 juin 2011
1
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.