Bonjour,
Je suis en train de développer un site en UTF-8 (pour être compatible ajax).
j'ai fait un petit script php pour uploader des fichiers à partir d'un formulaire html. Dans mon fichier php, je fais ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
$tmpfilename = $_FILES['fichier']['tmp_name'];
$filename    = $_FILES['fichier']['name'];
if ( !is_uploaded_file($tmpfilename) )
    die("Erreur lors de l'upload: fichier introuvable (".$tmpfilename.")");
mon code html ressemble à ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
...
<form enctype="multipart/form-data" action="upload.php" method="post">
    <input type="hidden" name="MAX_FILE_SIZE" value="100000">
    <input type="file" name="fichier" size="30">
</form>
Lorsque j'upload un fichier sans caractères spéciaux, ça fonctionne très bien.
Lorsque j'upload un fichier avec caractères spéciaux, ça le fonctionne pas. J'obtiens alors par exemple :

$tmpfilename == "" (chaine vide)
$filename == "élément.jpg"
is_uploaded_file() retourne "false"

Je ne sais vraiment pas comment m'en sortir. Je me doute qu'il s'agit d'un problème d'encodage, mais je ne sais pas quoi changer et où... j'ai essayé d'ajouter accept_charset="utf-8" et accept_charset="iso-8815-1". Mais ça ne fonctionne pas mieux.

Merci pour vos idées, suggestions, solution...
Glipper