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 :

Encodage de caractères


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut Encodage de caractères
    Bonjour,

    Dans un script encodé en utf8, je fais une recherche sur une string retournée par un objet dont la classe est contenue dans un fichier encodé également en utf8, mais cela ne se passe pas comme espéré.

    Voici mon code de recherche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    ...
    if($OKInsertCibles)
               {
                $tabReq[0] = $insertCibles;
                $transaction = CtransactionsBdd::GetInstance("MYSQL", "speedcall");
                $erreur = $transaction->insert("MYSQL_insertMultiCibles", $tabReq);   //Enregistrement des cibles
                $textErreur .= "Insert dans table cibles : " . $erreur . "\r\n";            
               }
     
              if($OKInsertCibles && !strpos($erreur, "Impossible d'effectuer"))
               {...
    Ma variable $erreur contient bien "Impossible d'effectuer", mais strpos me retourne cependant 0.

    Quelqu'un aurait une idée?

    Merci d'avance.

  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
    Si la chaine commence par "Impossible d'effectuer" alors strpos retourne 0
    La bonne syntaxe est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($OKInsertCibles && strpos($erreur, "Impossible d'effectuer") !== FALSE)

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut
    Bonsoir et merci pour ton intervention.

    Maheureusement, j'ai utilisé la solution que tu as proposée, mais cela n'y change rien. Malgré que $erreur contient bien "Impossible d'effectuer", le script rentre dans le if, et lorsque j'y affiche le retour du strpos, ça m'affiche 0.

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Cf la doc PHP concernant la fonction strpos() :

    Trouve la position d'un caractère dans une chaîne
    Pour une chaine dans une chaine, si tu es en PHP 5 tu peux utiliser strripos(). Sinon, un preg_match() tout ce qu'il y a de plus simple.

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut
    Bonjour,

    Merci beaucoup pour l'aide apportée..

    De fait, avec strripos, ça fonctionne correctement. Bon à savoir car j'avais lu la documentation qui stipulais "Contrairement à la fonction strrpos , celle-ci peut prendre une chaîne de caractères complète comme paramètre needle et cette chaîne sera utilisée en totalité" .

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

Discussions similaires

  1. Probleme d'encodage des caractères spéciaux
    Par pacoulitou24 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 20/06/2006, 16h47
  2. Encodage de caractères
    Par Anduriel dans le forum Langage
    Réponses: 13
    Dernier message: 25/04/2006, 18h22
  3. Réponses: 15
    Dernier message: 24/02/2006, 14h17
  4. [FLASH 8] Encodage de caractères...
    Par Xdrei dans le forum Flash
    Réponses: 1
    Dernier message: 24/02/2006, 07h44
  5. encodage de caractères
    Par hugo123 dans le forum Langage
    Réponses: 7
    Dernier message: 25/01/2006, 15h04

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