Noiretulipe
Messages postés164Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention13 juillet 2008
-
11 juil. 2008 à 17:40
nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 2014
-
13 juil. 2008 à 12:09
Bonjour,
Je viens de parcourir durant une bonne demi-heure le forum. Malheureusement je n'ai pas trouvé de solution à mon problème.
J'ai un formulaire basic, avec un champs texte et un submit. Quand je récupère la variable POST, les accents contenus dans celle-ci se transforme en caractère étrange. Pas le fameux '?' mais par exemple : Pour "Je suis hébété par ce problème"
J'obtiens : Je suis hñÃñÕ par ce problïÎe
Je précise que ce script fonctionnais parfaitement en local et chez un hébergeur français. J'ai transféré mon site sur un serveur américain et depuis tous mes POST rencontre ce problème.
Noiretulipe
Messages postés164Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention13 juillet 2008 12 juil. 2008 à 16:31
Je me suis renseigné longuement sur la fonction iconv ... Mais je n'ai pas trouvé grand chose qui puisse m'aider.
Seulement avec un :
header('Content-type: text/html; charset=UTF-8');
et
$accent = iconv("EUC-JP","UTF-8",$_POST['accent']);
me retourne un variable correct, mais je ne souhaite pas changer l'ensemble de mon site en UTF-8 et je ne souhaite pas convertir l'ensemble de mes bases SQL en UTF-8 ......
j'ai eu ceci comme réponse sur un autre forum, ça vous parle ?
"
Sur le serveur, le "locale" doit être US alors que le contenu retourné par les $_POST serait plutôt FR.
Il faut peut être récupérer le "locale" de l'utilisateur pour positionner celui du côté serveur.
pysco68
Messages postés681Date d'inscriptionsamedi 26 février 2005StatutMembreDernière intervention21 août 20148 13 juil. 2008 à 10:45
rebonjour.... après une abscence de une demie journée me revoici ^^
je pense que tu était parti sur la bonne voie avec iconv().... mias rien ne te force à utiliser iconv() avec uniquement de l'utf-8....
<hr size="2" width="100%" />
setlocale(LC_CTYPE, 'fr_FR');
$rectifiee = icon
v('EUC-JP', 'ISO_8859-1//TRANSLIT', $chaine);
<hr size="2" width="100%" />
le '//TRANSLIT' active ce que l'on appelle la translitération, cad que certains caractères vont êtres représentés aproximativements s'il n'ont pas d'équivalent dans le jeux de caractère cible....
Bonne chance
<hr size="2" width="100%" />Developpement Web Yannic GraphiX | Mon CMS yArt et sa démo <hr size="2" width="10" />
pysco68
Messages postés681Date d'inscriptionsamedi 26 février 2005StatutMembreDernière intervention21 août 20148 11 juil. 2008 à 17:45
ça doit être une erreure de charset... enfin pas trop le choix ^^
essaye donc par exemple d'envoyer ton formulaire en unicode ou en iso-xxxx (tu peux le modifier dans le navigateur (Firefox: "Affichage"->Encodage de caractères....
et regarde le résultat coté serveur... après tu peux insèrer le bon encodage en tant que méta-information dans l'entête de ton site...
Byebye ;)
<hr size="2" width="100%" />Developpement Web Yannic GraphiX | Mon CMS yArt et sa démo <hr size="2" width="10" />
Vous n’avez pas trouvé la réponse que vous recherchez ?
Noiretulipe
Messages postés164Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention13 juillet 2008 11 juil. 2008 à 17:57
Non, ça ne change rien ... De plus, j'ai volontairement fai une faute d'orthographe sur le submit "Posté" et lui son accent s'affiche correctement ... Quelqu'un peu m'éclairer, là je nage !
Pour info, j'ai essayé pas mal d'encodage ... je ne pige rien, rien n'y fait !
Noiretulipe
Messages postés164Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention13 juillet 2008 12 juil. 2008 à 10:54
Après une multitude de test, j'en suis venu au conclusion suivante :
* L'affichage du texte se fait normalement, aucun soucis d'interprétation de caractère,
* Seul les variables postées sont comme par magie encodé en EUC-JP .....
Donc, cette transformation se fait soit :
* Au moment du POST (au niveau du formulaire)
* Soit à la récupération du header par PHP ......
Suis-je sur la bonne voie, ou me fourvoierais-je ?
Merci de m'aider, deux jours que je me bas avec ça et j'avoue que je suis prêt à craquer ... Seul le souvenir d'avoir entrée mon numéro de carte de crédit pour payer le serveur me retient !
nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 201436 12 juil. 2008 à 16:37
ça ne veut rien dire, enfin si, ça veut dire que l'encodage choisi par l'utilisateur n'est peut être pas le même que celui de tes variables donc il faut que tu récupère l'encodage de l'utilisateur pour mettre le même a tes variables...
Phrase très mal formulé, faut comprendre !
a++
Si la réponse vous convient, pensez : Réponse acceptée !
Noiretulipe
Messages postés164Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention13 juillet 2008 12 juil. 2008 à 20:12
Bon, je n'avance toujours pas.
J'ai essayé :
setlocale(LC_ALL, 'fr_FR.ISO_8859-1', 'fr_FR','fr','fr','fra','fr_FR@euro');
Mais en vain.
Je me suis donc penché sur l'encodage de mes fichiers qui était en ANSI et j'ai passé mon script de test en UTF-8 ... puis UTF-8BOM mais ça ne change rien à mon problème....
Noiretulipe
Messages postés164Date d'inscriptionmardi 21 janvier 2003StatutMembreDernière intervention13 juillet 2008 13 juil. 2008 à 10:55
J'ai déjà testé ça et .... ça ne fonctionne pas . Ne pas me demander pourquoi . Je n'en sais rien ....peut-être que PHP du moins la version sur le serveur n'est pas en mesure de convertir le EUC-JP (quelle idée aussi) vers de ISO ....
Non, le seul truc qui fonctionne c'est le passage en UTF-8 et un iconv vers cette encodage. Je m'y résous.
Merci à vous pour votre aide.
Toutefois s'il vous venait la solution miracle, je suis toujours preneur.
pysco68
Messages postés681Date d'inscriptionsamedi 26 février 2005StatutMembreDernière intervention21 août 20148 13 juil. 2008 à 11:42
....dans ce ces là il te reste peut-être qu'a écrire un petit mail à ton hébergeur... ce sont peut-être eux qui on foutu la merde (désolé mais ça l'est ^^) où à t'informer plus en détail sur la construction des deux charsets concernés et à en faire la conversion "à la main"....
enfin bref.... rien de joyeux en tout cas.... désolé de ne pas avoir pu plus te dépanner...
Bonne chance encore!!
Yannic
<hr size="2" width="100%" />Developpement Web Yannic GraphiX | Mon CMS yArt et sa démo <hr size="2" width="10" />
nicomilville
Messages postés3472Date d'inscriptionlundi 16 juillet 2007StatutMembreDernière intervention28 février 201436 13 juil. 2008 à 11:52
Bonne continuation a toi aussi, je te comprend, moi aussi je suis dans la me*** mais pas pour la même raison que toi...
Je dois coder un site sauf que y a déja quelqun qui a fait des fonction php et des pages php mais ce gas il a codé comme un porc, j'ai jamais vu ça, je me demande comment je vais faire...
a++
Si la réponse vous convient, pensez : Réponse acceptée !