Bonjour,


J'envoie un fichier via un formulaire en utilisant une iframe cachée pour que le chargement du fichier se fasse de manière "cachée" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
	<title>TEST</title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 
	<script type="text/javascript"> 
//<![CDATA[ 
 
// fonction qui est executée après la lecture du fichier upload.cgi
function cfgFileRequest(obj){
	alert(obj.CmdProcess_Status.status);
	alert(obj.CmdProcess_Status.msg);
}
 
//]]>
	</script>
 
</head>
 
<body>
 
	<form id="uploadform" action="upload.cgi" target="iframecfg" method="post" enctype="multipart/form-data">
		<fieldset>
			<legend>Gestion fichier de configuration (.ini)</legend>
			<p>
				<input type="file" name="cfgFile" id="cfgFile" size="30" style="font-size:1.3em;"/>
				<input id="subBtnUploadform" type="submit" value="Envoyer" />
			</p>
			<p>
				Télécharger fichier : <a href="setup.ini">cliquer ici</a>
			</p>
		</fieldset>
	</form>
	<br/>
 
 
	<iframe name="iframecfg" src="about:blank" style="display:none"></iframe> 
 
</body>
</html>
contenu du fichier upload.cgi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
	<head>
		<title>upload config file</title>
		<script type="text/javascript">
			window.parent.cfgFileRequest({"CmdProcess_Status":{"status":"1", "msg":"hello world !"}})
		</script>
	</head>	
	<body></body>
</html>

Lorsque j'envoie mon fichier de configuration, firebug m'affiche le message d'erreur suivant :
Un formulaire a été soumis avec l'encodage de caractères « windows-1252 » qui ne peut pas encoder tous les caractères Unicode, la saisie de l'utilisateur pourrait donc être corrompue. Pour éviter ce problème, la page pourrait être modifiée pour que le formulaire soit soumis avec l'encodage UTF-8, soit en changeant l'encodage de la page elle-même en UTF-8 soit en spécifiant « accept-charset=utf-8 » dans l'élément formulaire.
De quoi peut venir le problème ? c'est quel fichier qui est mal encodé (firebug ne me dit pas précisément le nom du fichier qui pose problème) ? le fichier envoyé, le fichier "upload.cgi" ou mon fichier html ?

Merci d'avance,