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

Symfony PHP Discussion :

Meta caractères spéciaux


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 14
    Par défaut Meta caractères spéciaux
    Bonjour
    Mes entetes de page (title, description...) ne s'affichent pas, parceque j'utilise les caractères accentés.
    Sachant que j'utilise l'endodage utf8, comment remedier à ce type de problème.

    Merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 182
    Par défaut
    peux tu préciser? par exemple la page actuelle (developpez) a des accents (répondre au sujet) dans title et aucun soucis.
    As tu préciser l'encodage html de la page?
    essaye de placer un url decode en php dans la sortie de ton title ça résout souvent bien des problèmes.

  3. #3
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 14
    Par défaut
    Les pages du site s'affichent bien, parcontre les url donnent ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /1/Mort+du+policier+%C3%A9cras%C3%A9+

  4. #4
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Les caractères spéciaux doivent être encodés lorsqu'ils font partie d'une URL. Certains navigateurs affiche les bons caractères dans l'URL mais ce n'est qu'une retranscription lisible pour l'internaute.

    Si tu ne souhaites pas avoir ces caractères dans l'URL tu pourrais nettoyer tes titres de pages ou les exculant.


    Voici une de mes ptites fonctions perso :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function niceUrl($uncleaned_url){    	    	
        return preg_replace(
            array("([\40])" , "([^a-zA-Z0-9-])", "(-{2,})"), 
    	array('-', '', '-'), 
    	trim($uncleaned_url)
        );     	
    }

  5. #5
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    une autre possibilité consiste à utiliser l'objet slug dans symfony, entièrement intégré a l'ORM doctrine, il va te générer un champ unique pour chaque enregistrement garanti sans accentué a partir du ou des champs que tu souhaites y indiquer.

    Ensuite, utilise les routes de symfony pour indiquer que le champ de liaison est le slug et non pas l'Id.

    Enfin, il te suffi d'utiliser une des nombreuses fonctions qui construisent un lien avec le nom du lien et l'objet à mettre en lien pour que l'url avec les données en slug soit automatiquement utilisée.

    Et si tu veux changer le format des slug, tu n'as pas une ligne de code à modifier dans ton application, (sauf peut-être celles qui génère un slug très personnalisé si tu choisissais cette possibilité, très rarement utilisée)

    Regarde sur le site web de symfony, dans le tuto Jobeet Job, tous y est clairement expliqué.

    Et, conseil perso, évite les accentués dans les liens internet.

  6. #6
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 14
    Par défaut
    Le seul soucis c'est que j'ai utilisé la class:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    static public function slugify($text)
      {
        // replace all non letters or digits by -
        $text = preg_replace('/\W+/', '-', $text);
     
        // trim and lowercase
        $text = strtolower(trim($text, '-'));
     
        return $text;
      }
    et que le lien création de blog, se transforme en
    , les accents sont mal interprétés.

    voici un extrait du fichier routing.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    pages_show:
      url:     /:id/:title
      class:   sfDoctrineRoute
      options: { model: Pages, type: object }
      param:   { module: pages, action: show }
      requirements:
        sf_method: [get]

Discussions similaires

  1. caractères spéciaux
    Par mat10000 dans le forum Flash
    Réponses: 16
    Dernier message: 23/10/2003, 13h22
  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