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 :

preg_match & accents sous CLI ou Apache [RegEx]


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    ---
    Inscrit en
    Janvier 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ---

    Informations forums :
    Inscription : Janvier 2010
    Messages : 6
    Points : 8
    Points
    8
    Par défaut preg_match & accents sous CLI ou Apache
    Bonjour,

    j'ai ce code qui fonctionne parfaitement en ligne de commande, mais qui n'affiche que les premiers caractères non accentués sous apache.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $comment = '[fr]français[en]english';
    preg_match_all("/\\[(\w+)\\]([,\s\w]+)/u", $comment, $out);
    print_r($out[0]);
    en ligne de commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Array
    (
        [0] => [fr]français
        [1] => [en]english
    )
    sous apache

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Array
    (
        [0] => [fr]fran
        [1] => [en]english
    )
    Le fichier est en utf-8. Je ne vois pas trop où est le problème.

    Une idée ?

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    tu as un header php utf-8 ?
    le fichier lui même est en utf-8 ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Futur Membre du Club
    Profil pro
    ---
    Inscrit en
    Janvier 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ---

    Informations forums :
    Inscription : Janvier 2010
    Messages : 6
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    tu as un header php utf-8 ?
    le fichier lui même est en utf-8 ?
    Merci pour cette réponse rapide.

    Oui, comme je le disais, le fichier est en utf-8
    et il n'y a pas de problème de rendu (un strlen() m'indique bien que la chaîne n'est pas complète)

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    tu as ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Content-type: text/html; charset=UTF-8')
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Futur Membre du Club
    Profil pro
    ---
    Inscrit en
    Janvier 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ---

    Informations forums :
    Inscription : Janvier 2010
    Messages : 6
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    tu as ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Content-type: text/html; charset=UTF-8')
    Non, mais ça n'apporte rien, merci pour l'idée.

    Le fichier entier (en utf-8)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    header('Content-type: text/html; charset=UTF-8');
    $comment = '[fr]français[en]english';
    preg_match_all("/\\[(\w+)\\]([,\s\w]+)/u", $comment, $out);
    print_r($out[0]);
    echo $out[0][0] . ':' . strlen($out[0][0]);
    donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Array
    (
        [0] => [fr]fran
        [1] => [en]english
    )
    [fr]fran:8

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    je viens de tester et la seule explication que jke vois est que ton fichier n'est pas en utf-8

    Ouvre ton fichier avec notepad++
    puis regarde dans format
    convertit le en utf-8 sans BOM

    voici ce que j'obtiens avec le mon fichier en utf8 et le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     <?php
    header('charset=UTF-8');
    $comment = '[fr]français[en]english';
    preg_match_all("#\[\w+]\w+#u", $comment, $out);
    print_r($out[0]);
    echo $out[0][0] . ':' . strlen($out[0][0]);
     ?>
    Array ( [0] => [fr]français [1] => [en]english ) [fr]français:13
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Futur Membre du Club
    Profil pro
    ---
    Inscrit en
    Janvier 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : ---

    Informations forums :
    Inscription : Janvier 2010
    Messages : 6
    Points : 8
    Points
    8
    Par défaut
    merci pour ton test.

    Mais rien à faire, je viens d'essayer sur trois serveurs différents, créant un fichier et en l'enregistrant en utf-8 explicitement et j'ai le même problème.

    Mais Eurêka ! j'ai trouvé (pléonasme) ça vient de Apache il faut définir le charset par défaut, c'est-à-dire ajouter dans httpd.conf, ou en ce qui me concerne modules.d/00_languages.conf :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AddDefaultCharset UTF-8
    Merci encore pour le temps passé, j'espère que la solution servira à quelqu'un.

    Donc

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    ????
    je ne comprends pas pourquoi ton header php n'agit pas...
    ton fichier etant en utf8 et indiquant un header, en principe apache devrait le prendre en copmte ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. Question d'accent sous XP
    Par ustilago dans le forum Langage
    Réponses: 2
    Dernier message: 14/03/2006, 21h49
  2. configuration virtual hosts sous windows avec apache
    Par ceriise dans le forum Apache
    Réponses: 3
    Dernier message: 05/03/2006, 20h57
  3. problème accent sous tomcat
    Par julien_lesbegueries dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 06/10/2005, 14h33
  4. PB : affichage de données avec accent sous delphi 6
    Par kinda dans le forum Débuter
    Réponses: 3
    Dernier message: 03/07/2003, 13h19
  5. Comment afficher les accent sous mysql v4.0.13
    Par buildozer dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/06/2003, 09h33

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