Bonjour,

J'ai besoin d'aide, de conseils.
Pouvez-vous prendre un peu de votre temps pour m'aider ?

Cette histoire d'accents me prend le chou...
Des fois, les accents apparaissent normalement.
Et puis des fois, des caractères bizaroïdes apparaissent.

Est-ce un problème de programmation ?
Est-ce un problème chez one.com ?

Aidez-moi, svp.
D'avance merci.



Dans toutes (oui toutes) pages HTML, j'utilise en tête de code :

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


et dans tous (oui, tous) mes codes php, j'utilise toujours des header :

$entete .= "Content-Type: text/plain; charset='UTF-8'\n";


Voici tout le code php, pour que vous y voyez plus clair :

	date_default_timezone_set('Europe/Brussels');
	$blancs = str_repeat(" ", 256);
	$finrecord = chr(13).chr(10);
	$switch = "0";
		
	if ((trim($_POST['compte']) == "") || (trim($_POST['user']) == "") || (trim($_POST['password']) == "") || (trim($_POST['email']) == "")) {
		header("Location: ../loginNEW.html");
		exit;
	}

	$utilisateur = array();
	$existence = "1";
	
	$compte = trim($_POST['compte']);
	$user = trim($_POST['user']);
	$password = trim($_POST['password']);
	$email = trim($_POST['email']);
	$password_len = strlen($password);
	$password_key = sha1($password.$password_len);
	$out = $user.":".$password_key;
	
	$nomfichier = fopen('login.txt','r');
	flock ($nomfichier, 2);
	$record = fgets($nomfichier);
	$utilisateur [1] = substr($record,0,254);
	$dernier = substr($utilisateur [1],0,6);	
	$nbON = substr($utilisateur [1],6,5);	
	$nbOFF = substr($utilisateur [1],11,5);	
	$nbADMIN = substr($utilisateur [1],16,5);	
	$nbFTP = substr($utilisateur [1],21,5);	
	$nbAUTRE = substr($utilisateur [1],26,5);
	for ($ligne = 2 ; $ligne < $dernier ; $ligne++) {
		$record = fgets($nomfichier);
		$utilisateur [$ligne] = substr($record,0,254);
	}
	flock ($nomfichier, 3);
	fclose($nomfichier);
	
	for ($ligne = 2 ; $ligne < $dernier ; $ligne++) {
		$loginexistence = trim(substr($utilisateur [$ligne],0,1));
		$logincompte = trim(substr($utilisateur [$ligne],1,6));
		$loginuser = trim(substr($utilisateur [$ligne],7,40));
		$loginpassword = trim(substr($utilisateur [$ligne],47,40));
		$loginemail = trim(substr($utilisateur [$ligne],87,150));
		$in = $loginuser.":".$loginpassword;
		if ($out == $in) {
			$switch = $ligne;
			$ligne = $dernier;
		}
	}
	if ($switch == "0") {
		$chemin = "../transferts";
		if (is_dir($chemin) == false) {
		  mkdir($chemin,0777);    
		}
		$chemin = "../transferts/";
		if (is_dir($chemin.$user) == false) {
		  mkdir($chemin.$user,0777);    
		}
		$dernier++;
		$nbON++;
		switch ($compte) {
			case "admin":
				$nbADMIN++;
				break;
			case "ftp":
				$nbFTP++;
				break;
			default:
				$nbAUTRE++;
				break;
		}
		$utilisateur[1] = substr("000000".$dernier,-6);
		$utilisateur[1] .= substr("000000".$nbON,-5);
		$utilisateur[1] .= substr("000000".$nbOFF,-5);
		$utilisateur[1] .= substr("000000".$nbADMIN,-5);
		$utilisateur[1] .= substr("000000".$nbFTP,-5);
		$utilisateur[1] .= substr("000000".$nbAUTRE,-5);
		$utilisateur[$dernier-1] = substr($existence.$blancs,0,1).substr($compte.$blancs,0,6).substr($user.$blancs,0,40).substr($password_key.$blancs,0,40).substr($email.$blancs,0,150);
		$newfichier = fopen('loginTMP.txt','w');
		flock ($newfichier, 2);
		for ($ligne = 1 ; $ligne < $dernier ; $ligne++) {
			$utilisateur[$ligne] = substr($utilisateur[$ligne].$blancs,0,254);
			$utilisateur[$ligne] .= $finrecord;
			fwrite ($newfichier, $utilisateur[$ligne]);
		}
		flock ($newfichier, 3);
		fclose($newfichier);
		
		chmod("loginTMP.txt", 0777);
		chmod("login.txt", 0777);
		unlink("login.txt");
		copy("loginTMP.txt","login.txt");
		unlink("loginTMP.txt");

		$destinataire1 = "truc@bidule.fr";
		$destinataire2 = $email;
		$objet1 = "bidule - création d'un nouveau compte";
		$objet2 = $objet1;
		
		$msg = "\n";
		$msg .= "============================================================================\n";
		$msg .= "\n";
		$msg .= "\n";
		$msg .= "Voici votre nouveau compte sur le site  www.creaprint.be  \n";
		$msg .= "Vous pouvez donc uploader ou downloader directement sur le site \n";
		$msg .= "\n";
		$msg .= "Type de compte : $compte "."\n";
		$msg .= "Utilisateur : $user \n";
		$msg .= "Mot de Passe : $password \n";
		$msg .= "Adresse email : $email \n";
		$msg .= "\n";
		$msg .= "\n";
		$msg .= "============================================================================\n";
		$msg .= "\n";
		
		$entete = "From: $destinataire1 <>\n";
		$entete .= "Reply-To: $destinataire2\n";
		$entete .= "Content-Type: text/plain; charset='UTF-8'\n";
		$entete .= "Content-Disposition: inline\n";
		$entete .= "Content-Transfer-Encoding: 8bit\n";
		$entete .= "MIME-Version: 1.0\n";
		$entete .= "Date: $datefr $heurefr\n";
		
		$resultat1 = mail($destinataire1,$objet1,$msg,$entete);
		$resultat2 = mail($destinataire2,$objet2,$msg,$entete);

		$_POST['user']="";
		$_POST['password']="";
		$_POST['compte']="";
		$_POST['email']="";
		if (($resultat1 == false) || ($resultat2 == false)) {
			Header("Location: ../index.html");
		} else {
			Header("Location: ../index.html");
		}
	} else {
		$_POST['user']="";
		$_POST['password']="";
		$_POST['compte']="";
		$_POST['email']="";
		header("Location: ../loginNEW.html");
	}

Modifié par jytest (01 Nov 2010 - 14:01)