Bonjour,
J'ai fais un formulaire qui marche tres bien ! je recois correctement mes mail mais lorqu'un correspondant japonais m'ecrit avec des caracteres japonais il m'est impossible de lire le mail ( un melange de 3%3%3% ???? ) l!!
Si quelqu'un avait une idée ou une piste je lui en serais tres reconnaissant !!
voici mon code php qui recupere les donnees du formulaire
<?php

$Adr_Envoi="moi@moi.com";
$nom=$HTTP_POST_VARS['nom'];
$mail=$HTTP_POST_VARS['mail'];
$sujet=$HTTP_POST_VARS['sujet'];
$message=$HTTP_POST_VARS['texte'];

function meftexte($texte){
$texte = stripslashes($texte);
$texte = trim($texte);
$texte = strip_tags($texte, '<a><b><i><u><img>');
$texte = nl2br($texte);
$texte = utf8_decode(urldecode($texte));
$texte = str_replace("&gt;", ">", $texte);
$texte = str_replace("&lt;", "<", $texte);
return $texte;
}

$entete = "From: $mail\nContent-Type: text/html; charset=UTF-8". "\r\n";

$message = meftexte($message);
$sujet = meftexte($sujet);

$mail_OK = mail($Adr_Envoi, $sujet, $message, $entete);

if ($mail_OK) {
echo "etat=Votre ?? message a bien été envoyé";
} else {
echo "etat=Votre message n'a pas pu être envoyé lolo";
}

?>
Salut,

La page de ton formulaire est-elle bien en utf-8, et l'encodage de ton formulaire est-il correctement pris en compte ?
voici le code mis sur la premiere frame de mon formulaire flash



nom = mail = sujet = texte = "" ;
ok = "" ;
etat = "" ;
var monLoadVar = new LoadVars();

this.creation_message = function () {
message = "Message : " + newline + texte + newline ;
message += newline + "Nom de l'expéditeur : " + nom ;
message += newline + "Adresse de l'expéditeur : " + mail ;
message += newline + "Sujet du message : " + sujet ;
}

this.envoyer.onRelease = function () {
if (nom != "" && mail != "") {
creation_message () ;
monLoadVar.nom = nom ;
monLoadVar.mail = mail ;
monLoadVar.sujet = sujet ;
monLoadVar.texte = texte ;
this._parent.gotoAndStop ("chargement") ;
} else {
this._parent.etat = "Attention aux champs obligatoires" ;
}
}

stop() ;



sur la 2eme frame


var recup = new LoadVars();
recup.onLoad = function (succes) {
if (succes) {
etat = "Votre message a bien été envoyé";
gotoAndPlay("resultat");
}
else {
etat = "Votre message n'a pas pu être envoyé";
gotoAndPlay("resultat");
}
}
monLoadVar.sendAndLoad("formulaire.php",recup, "POST");
stop();


et sur la troisieme


this.retour.onRelease = function () {
this._parent.gotoAndStop("formulaire") ;
}
stop();



il marche tres bien mais impossible de recuperer les hiraganas katakana et autres kangi japonais !!!!!!!!
Administrateur
Bonjour et bienvenue igor22,

merci de placer à chaque fois le code dans des balises [ code] ... [ /code] (sans les espaces) comme demandé et expliqué dans l'Aide (en éditant chaque message), c'est beaucoup plus lisible ainsi.

Felipe
Si tu ne reçois pas les kanas ou kanjis, ça signifie que tu as une bouille de #@&© à la place (ou de ?????) ? Dans ce cas, c'est probablement l'encodage qui pose problème, pas ton code PHP.

Ton formulaire n'est destiné qu'à des visiteurs nippons ?
Si oui, il faut peut-être jouer avec l'encodage de la page... utiliser du Shift_JIS (encodage courant en japonais) ou un des deux autres : EUC-JP, ISO-2022-JP.

J'imagine qu'ainsi, les données seront envoyées avec le bon encodage, un qui soit valide avec des caractères nippons. Les données seront peut-être plus lisibles.

(Je n'ai pas demandé, mais j'imagine que tu peux déjà lire (voir) les sites japonais, c'est à dire que ton OS est déjà configuré ?)

Tout ça n'est qu'une piste, j'espère que ça pourra aider.