Bonjour à tous. Voilà une semaine que je me prend la tête avec mon problème d'encodage.
J'ai essayé une fois le menu Format/Encodé en UTF-8 de Notepad++ et depuis, enfin j'ai l'impression que c'est depuis ça, c'est le médier .
Je m'explique.
Je travail en local via wamp, et code avec Notepad++.
J'ai deux pages php, une affichage et une traitement.
J'utilise $.post() de Jquery pour appeler la page traitement qui envoi la requête de mon formulaire présent dans la page affichage.
Lorsque je fais un é dans mon formulaire je me retrouve avec & Atilde; & copy; dans ma base phpmyadmin et à l'affichage j'ai un é (A avec une vague et le c de copyright).
Mes variables passent toutes par $var=htmlentities($var, ENT_QUOTES,'ISO-8859-1'); j'ai bien mis l'encodage <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> au début de ma page affichage et header("Content-Type: text/html; charset=iso-8859-1"); en haut de ma page de traitement.
Toute ma table est en latin1, mes champs aussi.
Test:
Avant tout ce chemilblik, j'avais déjà mis une version précédente en ligne. Et lorsque je la récupére pour la mettre en local, ça fonctionne, donc j'en déduis que ça vient pas de la base de données.
Pour pousser le vis, j'ai copier le code des pages qui merdouille dans les pages récupérés qui fonctionnent, et là ça fonctionne plus.
Donc pour moi, le problème viendrait de la traduction des variables dans le fichier php.
Et sous Notepad++, l'encodage des pages est bien en ANSI.
J'ai fais aussi d'autres tests, notamment celui d'enlever le htmlentities et de mettre un utf8_decode à la place, et là, j'ai un é dans ma base.
Normalement ça devrait être un & e a cute; non????
Si quelqu'un pouvait m'aider, ça serait génial. Là je sais plus où regarder.
Modifié par WyLLoU (23 Dec 2009 - 09:20)
J'ai essayé une fois le menu Format/Encodé en UTF-8 de Notepad++ et depuis, enfin j'ai l'impression que c'est depuis ça, c'est le médier .
Je m'explique.
Je travail en local via wamp, et code avec Notepad++.
J'ai deux pages php, une affichage et une traitement.
J'utilise $.post() de Jquery pour appeler la page traitement qui envoi la requête de mon formulaire présent dans la page affichage.
Lorsque je fais un é dans mon formulaire je me retrouve avec & Atilde; & copy; dans ma base phpmyadmin et à l'affichage j'ai un é (A avec une vague et le c de copyright).
Mes variables passent toutes par $var=htmlentities($var, ENT_QUOTES,'ISO-8859-1'); j'ai bien mis l'encodage <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> au début de ma page affichage et header("Content-Type: text/html; charset=iso-8859-1"); en haut de ma page de traitement.
Toute ma table est en latin1, mes champs aussi.
Test:
Avant tout ce chemilblik, j'avais déjà mis une version précédente en ligne. Et lorsque je la récupére pour la mettre en local, ça fonctionne, donc j'en déduis que ça vient pas de la base de données.
Pour pousser le vis, j'ai copier le code des pages qui merdouille dans les pages récupérés qui fonctionnent, et là ça fonctionne plus.
Donc pour moi, le problème viendrait de la traduction des variables dans le fichier php.
Et sous Notepad++, l'encodage des pages est bien en ANSI.
J'ai fais aussi d'autres tests, notamment celui d'enlever le htmlentities et de mettre un utf8_decode à la place, et là, j'ai un é dans ma base.
Normalement ça devrait être un & e a cute; non????
Si quelqu'un pouvait m'aider, ça serait génial. Là je sais plus où regarder.
Modifié par WyLLoU (23 Dec 2009 - 09:20)