Hello tout le monde.
Grâce aux recherches, en général je trouve toujours des solutions aux problèmes rencontrés, mais là je sèche, donc je post
Mon interface appelle, une autre page php, via ajax, pour afficher un formulaire.
voici plusieurs infos sur ma méthodologie :
- encodage iso-8859-1 sur mon interface
- encodage forcé en utf-8 sur ma page appelée par ajax.
- Toute ma base, mes tables et mes champs sont en utf-8 (utf8_general_ci)
- Je passe la commande mysql_query("SET NAMES 'utf8'"); à la connexion à la base
- Je récupère mes données postées via un simple $_GET[]
- Je les passe ensuite à la fonction mysql_real_escape_string avant l'insertion en base.
Tout fonctionne nickel avec FF8, mais avec IE8 et Chrome mes caractères spéciaux sont supprimés ainsi que tous les caractères qui les suivent ...
Si je retire la commande mysql_query("SET NAMES 'utf8'"); à la connexion à la base, alors le problème s'inverse en quelque sorte
à savoir que sous IE8 et Chrome, l'enregistrement se fait correctement, mais sous FF8 les caractères spéciaux sont mal enregistrés en base (ex : "é" --> "é")
J'ai essayé pas mal de choses (utf8_decode, html_entity_decode, modif de l'encodage dans phpmyadmin .... la liste serait trop longue ...) mais je n'ai pas trouvé la bonne méthode
bref, j'implore votre aide
Merci d'avance pour vos réponses
Grâce aux recherches, en général je trouve toujours des solutions aux problèmes rencontrés, mais là je sèche, donc je post
Mon interface appelle, une autre page php, via ajax, pour afficher un formulaire.
voici plusieurs infos sur ma méthodologie :
- encodage iso-8859-1 sur mon interface
- encodage forcé en utf-8 sur ma page appelée par ajax.
- Toute ma base, mes tables et mes champs sont en utf-8 (utf8_general_ci)
- Je passe la commande mysql_query("SET NAMES 'utf8'"); à la connexion à la base
- Je récupère mes données postées via un simple $_GET[]
- Je les passe ensuite à la fonction mysql_real_escape_string avant l'insertion en base.
Tout fonctionne nickel avec FF8, mais avec IE8 et Chrome mes caractères spéciaux sont supprimés ainsi que tous les caractères qui les suivent ...
Si je retire la commande mysql_query("SET NAMES 'utf8'"); à la connexion à la base, alors le problème s'inverse en quelque sorte
à savoir que sous IE8 et Chrome, l'enregistrement se fait correctement, mais sous FF8 les caractères spéciaux sont mal enregistrés en base (ex : "é" --> "é")
J'ai essayé pas mal de choses (utf8_decode, html_entity_decode, modif de l'encodage dans phpmyadmin .... la liste serait trop longue ...) mais je n'ai pas trouvé la bonne méthode
bref, j'implore votre aide
Merci d'avance pour vos réponses