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

Langage PHP Discussion :

opendir : caractères spéciaux [Encodage]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 24
    Points : 19
    Points
    19
    Par défaut opendir : caractères spéciaux
    Bonjour,

    Je me sers de la fonction 'opendir' pour ouvrir des dossiers locaux (ensuite 'readdir'), mais ça ne fonctionne pas lorsque le dossier à un diacritique (ö, à, ...).

    Est-ce qu'il y a une solution, ou dois-je renommer tous mes dossier ? (remplacer
    les ö par o, les à par a, ...)


    Merci,

    Patrick

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est à dire ? Tu obtiens quoi ?
    Si tu as un problème d'affichage, l'encodage du nom du fichier va dépendre du système, il est donc peut être nécessaire de le convertir avant affichage.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 24
    Points : 19
    Points
    19
    Par défaut
    Voilà un exemple :

    Le nom de mon dossier :
    I:\\e_music\\METAL\\Bands A-L\\Les parfaits salauds\\Constat à l'amiable 1995
    Dans la variable $cover_path

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo $cover_path :
    I:\\e_music\\METAL\\Bands A-L\\Les parfaits salauds\\Constat à l'amiable 1995
    J'utilise
    Et à cause du 'à', j'obtiens :
    Warning: opendir(I:\\e_music\\METAL\\Bands A-L\\Les parfaits salauds\\Constat à l'amiable 1995) [function.opendir]: failed to open dir: No such file or directory in C:\xampp\htdocs\radio\nowplaying.php on line 30

    Ça fonctionne si le 'à' est 'a'.

    Comment contourner cela?


    Merci,

    Patrick

    Pourtant,

    Cela fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    opendir ("I:\\e_music\\METAL\\Bands A-L\\Les parfaits salauds\\Constat à l'amiable 1995")
    Alors comment faire passer exactement cette chaîne dans une variable, incluant les ' " ' ?

    Cela aussi fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $path = "I:\\e_music\\METAL\\Bands A-L\\Les parfaits salauds\\Constat à l'amiable 1995";
     
    opendir ($path)

    Mais pas ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    opendir ('"'.$path.'"')

    Que faire?!?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ce n'est pas un problème de guillemets mais bien un problème d'encodage.
    Comme je t'ai dit, il faut l'encodage de ton fichier et l'encodage du système de fichier soient les mêmes.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 24
    Points : 19
    Points
    19
    Par défaut
    Puisque l'encodage est différent.

    J'ai trouvé quoi faire : ut8_decode($path).


    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 29/01/2008, 10h56
  2. Où trouver la liste des caractères spéciaux?
    Par gamez dans le forum Langage
    Réponses: 3
    Dernier message: 19/08/2003, 17h54
  3. Transformation XSL et caractères spéciaux
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 4
    Dernier message: 28/04/2003, 10h38
  4. [Sybase] filtre sur caractères spéciaux
    Par montelieri dans le forum Sybase
    Réponses: 4
    Dernier message: 07/04/2003, 16h49
  5. Traiter les caractères spéciaux
    Par ricola dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2003, 09h23

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