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 :

[Sécurité] Problème - strtr + charset


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 63
    Points : 44
    Points
    44
    Par défaut [Sécurité] Problème - strtr + charset
    Bonjours,
    Bon j'aimerai faire un truc simple : remplacer des é par des e.
    Donc en principe je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $variable="Saluté, testé";
    $variable = strtr($variable,"é","e");
    Et en echo ca me sort un é ... et pas un e :/

    Alors on m'a dit que ca avait ptre un rapport avec le charset donc j'ai rajouté le truc suivant dans le head :
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    Mais ca fait pareil.
    Quelqu'une a une idée ?

    Merci

  2. #2
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    Peut-être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $str = preg_replace( "é", "e", $str );
    Pour plus d'infos : http://fr.php.net/manual/fr/function.preg-replace.php

    Cela dit, ça ne répond pas à la question : pourquoi le strtr ne marche pas...

  3. #3
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 199
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 199
    Points : 8 424
    Points
    8 424
    Billets dans le blog
    17
    Par défaut
    Les fonctions de chaîne PHP ne gêrent pas les chaînes dont les caractères font plus d'un octet.
    En attendant PHP6 regarde les fonctions mb_*( ) http://fr.php.net/manual/fr/ref.mbstring.php

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    Non plus ca ne marche pas

    edit : la chaine est très courte, qq mots à peine

  5. #5
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 199
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 199
    Points : 8 424
    Points
    8 424
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Séb.
    Les fonctions de chaîne PHP ne gêrent pas les chaînes dont les caractères font plus d'un octet.
    En attendant PHP6 regarde les fonctions mb_*( ) http://fr.php.net/manual/fr/ref.mbstring.php
    Euh je viens de relire ton post originel, je suis *peut-être* HS
    Quel charset utilises-tu quand tu saisis ta page ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    Je l'ai précisé dans mon topic ^^
    charset=iso-8859-1

  7. #7
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 199
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 199
    Points : 8 424
    Points
    8 424
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Vinzius
    Je l'ai précisé dans mon topic ^^
    charset=iso-8859-1
    Ça ne veut pas dire que ton fichier est effectivement codé avec du ISO-8859-1 ;)

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    Comment en être sur alors ?

  9. #9
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 199
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 199
    Points : 8 424
    Points
    8 424
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Vinzius
    Comment en être sur alors ?
    En paramétrant correctement le logiciel avec lequel tu programmes.

    Essaie ceci :

    Quelle valeur est affichée ?

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    Ca me donne 1
    C'est bon ?
    J'utilise Xcode pour coder et j'ai un serveur dédié.

  11. #11
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 199
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 199
    Points : 8 424
    Points
    8 424
    Billets dans le blog
    17
    Par défaut
    C'est bon si ça te donne 1.
    Je ne connaîs pas XCode, mais on peut certainement paramétrer le jeu de caractères : vérifie que ton script est bien enregistré en ISO-8859-1.
    Ensuite teste un truc tout simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
        header('Content-Type: text/plain; charset=ISO-8859-1') ;
        echo strtr('bébé', 'é', 'e') ;
    ?>
    Tu devrais avoir à l'affichage bebe.

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    J'ai du mal à trouver car c'est plus un logiciel pour coder le C et autre language ordi que le php ^_^

    Mais avec un fichier créé à partir de Xcode avec les lignes que tu mas donné ca marche mieux

    Je dois placer cette ligne ou ?
    header('Content-Type: text/plain; charset=ISO-8859-1') ;
    Avant tout code ou avant tout code html ?

  13. #13
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 199
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 199
    Points : 8 424
    Points
    8 424
    Billets dans le blog
    17
    Par défaut
    text/plain c'est pour le test. En prod tu devras avoir un text/html.
    header( ) doit être placé avant tout HTML envoyé au nav.

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 63
    Points : 44
    Points
    44
    Par défaut
    Arg jlai mis et ca marche pas ... ya un truc que je comprend pas là :'(
    Pourtant cela marche sur d'autres pages .... pffff jsuis plus rien du tout -_-

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Points : 12
    Points
    12
    Par défaut Solution possible
    J'ai aussi longtemps cherché d'où pouvait venir ce problème, il vient en fait de l'encodage du fichier enregistré. Si votre fonction est dans un fichier différent il faut vérifier que l'encodage est le même entre vos fichiers. Vous pouvez faire cela avec DreamWeaver dans les propriétés de page --> catégorie Titre/Encodage (Title/Encoding).

Discussions similaires

  1. [Sécurité] Problème: safe_mode à On sous Windows.
    Par Thierry8 dans le forum Langage
    Réponses: 26
    Dernier message: 15/03/2006, 17h13
  2. [Sécurité] Problème de sécurité
    Par donid dans le forum Langage
    Réponses: 4
    Dernier message: 02/03/2006, 10h07
  3. [Sécurité] Problèmes avec setcookie
    Par cach dans le forum Langage
    Réponses: 6
    Dernier message: 01/03/2006, 18h15
  4. [Sécurité] Probléme menu !!
    Par Shandler dans le forum Langage
    Réponses: 17
    Dernier message: 12/12/2005, 21h52
  5. Problème de charset
    Par Yodalf dans le forum Langage
    Réponses: 3
    Dernier message: 21/10/2004, 09h29

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