Bonjour à tous,

J'ai un pbm d'encodage que je n'arrive pas à résoudre, pourriez-vous m'aider svp ?

Alors j'ai un ficher php "ModifyData.php" qui contient principalement un formulaire. "ModifyData.php" est bien encodé en UTF8 (avec NotePad++) et contient la balise :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Lorsque j'envoie le formulaire (par email) le pbm d'encodage apparaît :

Téléphone=01 53 24 31 08
Category=Crèche


Voici le code du fichier "ModifyData.php" :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    
		<link rel="stylesheet" href="style.css" />	
		<title>Amélioration de la carte</title>
	</head>
  
    <body>

		<form action='mailto:contact@happyfamilies.fr' method='post' enctype='text/plain'> 
		<table class='ModifyData'> 

		<?php 
		
			//Get the Connection File
			include('connection.php');
			// Get the id of the marker to change
			if(isset($_GET['id'])) { $id = $_GET['id']; }

			// Search the database from locations
			$sql="SELECT * FROM $dbtable1 WHERE Nbr = $id " ;
			$resultQuery = mysql_query($sql);
			if(!$resultQuery) { die("invalid query : ".mysql_error()); }      
			$row=mysql_fetch_assoc($resultQuery) ;		

			// Téléphone
			echo "<tr><td>T&eacute;l&eacute;phone :</td>" ;
			echo "<td><input type='text' name='T&eacute;l&eacute;phone' size='40' maxlength='100' value='".$row['Phone']."'></td></tr>" ;


			// Category in selector field 
			echo "<tr><td>Cat&eacute;gorie :</td>" ;

			// Search the database for the main category
			$MainCategory = $row['MainCategory'] ;
			
			$sql="SELECT * from $dbtable2";
			$resultQuery = mysql_query($sql);
			if(!$resultQuery) { die("invalid query : ".mysql_error()); }

			echo "<td>";
			$resultQuery = mysql_query($sql);
			while($row=mysql_fetch_assoc($resultQuery))
			{
				if ( $MainCategory == $row['Nbr'] ) { echo "<input type='radio' name='Category' value='".$row['Name']."' checked>".$row['Name']."<br/>"; }
				else { echo "<input type='radio' name='Category' value='".$row['Name']."'>".$row['Name']."<br/>"; }
			}
							
		?>
		
		</table>	

		<p align='center'><input type='submit' value='Envoyer'></p>
		</form>
				
    </body>
</html>



Le tout sur ce site : http://happyfamilies.fr/map-test/
Et la page de formulaire ici : http://www.reconquerirsavie.fr/mapHF/ModifyData.php?id=1069

Merci d'avance !
Bonjour,

Un formulaire avec comme action "mailto:email@example.com" ce n'est pas une méthode standard. Certains navigateurs vont l'interpréter en appelant un client de courriel (s'il y en a un de disponible, ce qui n'est pas systématique surtout si l'utilisateur utilise un webmail!), d'autres vont l'ignorer. Même dans le cas où un client de courriel est appelé, il n'y a pas de standard fiable pour lui passer des informations telles que le sujet ou le contenu du message, et ça ne serait pas étonnant d'avoir des pertes d'information ou des problèmes de codage de caractère à ce niveau.

Si tu veux récupérer des informations soumises par un utilisateur sur une page web, deux solutions:
- Les enregistrer dans une base de données.
- Les envoyer par email avec un script côté serveur (qui te permettra de gérer correctement les problèmes de codage de caractères).
fvsch a écrit :

Un formulaire avec comme action &quot;mailto:email@example.com&quot; ce n'est pas une méthode standard.


Je dirais même que sans aller jusque là, c'est pas du tout user friendly.