Page 1 sur 1

Decode utf-8

Posté : 08 oct. 2009, 04:08
par Abakus007
Salut

J'ai un formulaire en flash qui redirige mes variables vers un fichier en php.... Il fonctionne sous php 4, depuis peu j'essais de passer au php 5 et j'ai un trouble de decode utf-8. Je décode le utf-8 parce que j'écris du texte en francais et je renvoie en html en charset=\"iso-8859-1 dans le courriel ex:

Prénom: variable du formulaire

Exemple de ma ligne de code ou je recois le courriel avec la variable (pas decode) parce que je la décode pas mais il y a de quoi dans la variable :........
$prenom = $_POST['prenom'];
Ce que je recois:..........Prénom: Mètres

Exemple de ma ligne de code ou je recois le courriel mais la variable est vide :........
$prenom = utf8_decode($HTTP_POST_VARS['prenom']);
Ce que je recois:..........Prénom: ???? pas de variable (vide)

Par la suite j'enleve l'indésirable;

$sender_prenom = stripslashes($sender_prenom);

Alors quelle est mon erreur dans ma ligne de decode $prenom = utf8_decode($HTTP_POST_VARS['prenom']); ou celle la $sender_prenom = stripslashes($sender_prenom); ?? Mais j'ai essayé sans $sender_prenom = stripslashes($sender_prenom); et ca change rien..

Merci d'avance...

Re: Decode utf-8

Posté : 08 oct. 2009, 11:25
par Dr@ke
Bonjour,
Une fonction qui pourrait surement t'intéresser:
La fonction iconv() (Convertit une chaîne dans un jeu de caractères):
http://fr2.php.net/manual/fr/function.iconv.php

Sinon il est préférable d'utiliser la variable: $_Post, nouvelle version de: $HTTP_POST_VARS:
http://www.manuelphp.com/php/reserved.v ... s.post.php

Pour le stripslashes, si c'est à cause de magic-quotes-gpc:
http://www.manuelphp.com/php/ini.magic-quotes-gpc.php

Tu peux alors dans ce cas utiliser ma fonction qui est préférable, vue que magic-quotes-gpc devrait être supprimé dès PHP 6.
function verif_magicgpc($string) { 
  if (get_magic_quotes_gpc() === 1) {
      $string = stripslashes($string);
  }
  return $string;
}
$sender_prenom = verif_magicgpc($sender_prenom);
Pour le reste, d'autres te donneront surement des informations complémentaires, si besoin :wink:

Re: Decode utf-8

Posté : 09 oct. 2009, 17:13
par Abakus007
Salut,

Merci bien !

Finalement je le fais de cette manière et ca fonctionne très bien .

Php 4.x: $sender_subject = utf8_decode($HTTP_POST_VARS[‘subject’]);
Php 5.x: $sender_subject = utf8_decode($_POST[‘subject’]);

Merci !

Re: Decode utf-8

Posté : 09 oct. 2009, 17:51
par AB
D'un autre côté tu avais peut-être aussi la solution de changer le charset de ton mail en utf-8 ...
Enfin c'est juste une remarque en passant, j'ai visité ce topic car il n'a pas été signalé résolu.