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 :

Problème d'accent avec exec()


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut Problème d'accent avec exec()
    Bonjour bonjour,

    Je suis en train de développer un petit serveur SMS, et je rencontre un petit souci d'accent lors de l'envoie d'un SMS avec la fonction exec().

    J'envoie un SMS de la sorte :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $Message = "ok écho toto";
    $Numero = "0600000000";
    exec('gammu sendsms TEXT '.$Numero.' -text "'.$Message.'" &');

    et si $Message contient un accent, seul les mots précédents celui avec un accent sont envoyés.
    Si j'envoie par exemple ok écho toto je ne reçois que ok

    Si j'exécute directement la commande d'envoi depuis le terminal, aucun souci d'accent. J'en déduis donc que mon souci provient de php, mais je ne comprend pas où...

    Si quelqu'un a une idée, je suis preneur

  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
    essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Message = utf8_encode("ok écho toto");
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Message = utf8_decode("ok écho toto");
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    Hello,

    j'ai déjà essayé sans succès.

    Pour le moment je retire les accents des SMS mais c'est pas une solution qui me plait

    EDIT:
    Je confirme que le souci provient bien de PHP.

    J'ai un script SH qui envoie SMS de test toutes les 4h. Je viens de lui rajouté un accent, et je le reçois bien correctement.
    En revanche, si j'execute ce script à travers php via exec ou shell_exec j'ai ce souci d'accent.

  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
    quel est l'encodage de ton fichier php ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    Il est en UTF-8, tout comme mon environnement Linux.
    J'ai testé de créer mon fichier PHP directement sous putty, comme je l'ai fais pour mon script SH, afin d'avoir le même encodage (si éventuellement ça pouvait venir de là), et pareil, même constat.

    J'ai testé ma chaine avec mb_detect_encoding et j'ai bien du UTF-8

    Je vais voir si une fonction similaire existe sous linux avec de vérifier ce que ça donne dans mon fichier SH, ça pourrai me donner une piste.


    EDIT:

    Je viens de trouver la solution, une fonction PHP nommée escapeshellarg() qui sert à protéger une chaine de caractère pour une utilisation en ligne de commande.
    Je vais pouvoir dormir tranquille, j'y ai passé la journée

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

Discussions similaires

  1. Problèmes d'accents avec une page Web
    Par DevCR dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 30/10/2008, 09h43
  2. Problème d'accent avec formulaire cgi
    Par vodevil dans le forum Web
    Réponses: 3
    Dernier message: 15/04/2006, 11h48
  3. Problème d'accent avec fgets
    Par d.w.d dans le forum Langage
    Réponses: 2
    Dernier message: 31/03/2006, 07h37
  4. [utf-8] problème d'accents avec gtk+
    Par over_score dans le forum Général Python
    Réponses: 3
    Dernier message: 14/12/2005, 01h43
  5. Problèmes d'accent avec une connexion ODBC et ADO
    Par michael.jacques dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/03/2005, 15h36

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