IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

plugin Uploadify, remplacer les accents dans les noms des fichiers


Sujet :

jQuery

  1. #1
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut plugin Uploadify, remplacer les accents dans les noms des fichiers
    Bonjour,

    je me heurte à un problème d'encodage. Mes pages et mes scripts sont enregistrées en UTF-8 sans BOM et lorsque je souhaite enregistrer un fichier comme "été.jpg" et bien j'obtiens "été.jpg" (contenu de ma variable $_FILES['Filedata']['name'] ) comme fichier uploadé.
    N'y a t-il pas une option à spécifier à Uploadify pour le mettre en UTF-8 ?

    Voilà se que je souhaite faire dans mon fichier uplodify.php, une fois que $_FILES['Filedata']['name'] contiendra mes accents comme "été"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $Echappe = strtr($_FILES['Filedata']['name'], 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    $Echappe = preg_replace('/([^.a-z0-9-]+)/i', '_', $Echappe);
    Merci

  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    J'ai le même problème sur uploadify. mes pages sont en ISO-8859-2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            $nom_fich = strtr($_FILES['Filedata']['name'],  "àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ$+!*'(), ",  "aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY---------");
            $nom_fich = "categ-".strtolower($nom_fich);
    Les accents et carractères spéciaux sont bien remplacés par -. Par contres les accents...

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Personne n'aurait une petite idée ?
    C'est vraiment bloquant...

    "Général03", as-tu résolu ton problème ?

  4. #4
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    Oui j'ai résolu mon problème mais de manière temporaire. En effet, le problème provient bien de l'encodage de flash car comme j'ai pu le lire par défaut le .swf est compilé en ISO et non UTF-8. Comme je ne connais pas bien le flash et que je ne possède pas de logiciel pour compiler flash j'ai opté pour cette méthode :
    Dans uploadify.php
    $Fichier_Echappe = htmlentities($_FILES['Filedata']['name'], ENT_NOQUOTES, "UTF-8");
    et dans mon affichage
    utf8_encode($fichierRecupere);
    Mais cette solution ne me plait gère alors si quelqu'un aurait des pistes à me donner pour encoder flash en UTF-8 je suis preneur.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Points : 316
    Points
    316
    Par défaut
    Bonjour,

    Je crois bien que dans ton script php qui reçoit la requête il suffit d'utiliser utf8_decode() non ?

    utf8_decode("été.jpg") => "été.jpg".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Echappe = strtr(utf8_decode($_FILES['Filedata']['name']), 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
    Mais pour pas avoir ce problème quand je télécharge des images j'utilise plutot un formulaire dont la target est une Iframe de dimension 1px X 1px et le src mon fichier de traitement d'images.

    Dans ce cas pas de passage en UTF8

  6. #6
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    Tout a fait d'accord avec toi Alexdezark mais au lieu de rajouter une rustine avec cette fonction autant utiliser un encodage correspondant à celui de mon site.
    Mais pour pas avoir ce problème quand je télécharge des images j'utilise plutot un formulaire dont la target est une Iframe de dimension 1px X 1px et le src mon fichier de traitement d'images.
    Mais moi je souhaite utiliser le plugin uploadify pour voir l'avancement de mes uploads.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 530
    Points : 316
    Points
    316
    Par défaut
    D'accord avec toi pour le plugin uploadify, j'ai pas testé mais je suis allé voir et ça à l'air bien.

    Mais utf8_decode() c'est pas une rustine... c'est ce qui permet d'utiliser tout ce qui travaille en utf8 non ?

  8. #8
    Membre actif Avatar de Général03
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 848
    Points : 283
    Points
    283
    Par défaut
    Définition de php.net
    Convertit une chaîne ISO-8859-1 en UTF-8
    or tout mon site est en UTF-8 donc la logique voudrait que l'enregistrement de mes fichiers se fasse aussi en UTF-8. C'est fonction est une rustine car si tu codes bien ton site avec le même encodage partout, tu n'auras pas besoin de cette fonction (et de sa copine utf8_encode() )

  9. #9
    Membre à l'essai
    Inscrit en
    Octobre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Mon problème était un peu différent je crois. Pour info, je l'ai "résolu" avec ces lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $fileParts  = pathinfo($_FILES['Filedata']['name']);
            $nom_fich = $fileParts['filename']; // juste le nom sans l'extension
            $nom_fich = utf8_decode($nom_fich);
            $nom_fich = strtr($nom_fich,"àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ$&+!*'(), ",
                                        "aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY          ");
            $nom_fich = utf8_encode($nom_fich);        
            $nom_fich = str_replace(CHR(32),"",$nom_fich);

Discussions similaires

  1. [Python 2.X] Remplacer les accents dans plusieurs noms de fichiers
    Par lyko94 dans le forum Général Python
    Réponses: 13
    Dernier message: 04/07/2014, 09h58
  2. Enlever tous les accents dans le nom d'un fichier
    Par Abou Zar dans le forum Langage
    Réponses: 1
    Dernier message: 13/02/2010, 06h58
  3. comment enlever les accents dans un nom de fichiers ?
    Par clavier12AZQSWX dans le forum Administration système
    Réponses: 6
    Dernier message: 23/09/2009, 06h47
  4. Samba et les accents dans les noms de fichiers
    Par totofweb dans le forum Réseau
    Réponses: 1
    Dernier message: 19/08/2007, 18h22
  5. les accents dans les noms d'un champ
    Par s.rais dans le forum Access
    Réponses: 4
    Dernier message: 19/07/2007, 10h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo