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

MVC PHP Discussion :

Route : problème avec accents


Sujet :

MVC PHP

  1. #1
    Membre habitué
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Points : 194
    Points
    194
    Par défaut Route : problème avec accents
    Bonjour,
    J'ai un petit soucis avec les routes. En local tout est ok, mais pas en ligne ; la création de la route ne me prends pas les accents et les supprime tout bonnement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    $route = new Zend_Controller_Router_Route_Regex(
    		'(.+)-(\d+)i\.html',
    		array(
    		'action'        => 'edit',
    		'controller'    => 'individuels',
    		'page' 			=> 1
    		),
    		array(
    		1=>'title',
    		2=>'id'
    		),
    		'%s-%di.html'
    		);
     
    		$router->addRoute('fiche_sejours', $route);
    J'utilise aussi cette fonction dans un Helper de vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public function friendlyUrls($url) {
     
    		$url = preg_replace('~[^\\pL0-9_]+~u', '-', $url);
    		$url = trim($url, "-");
    		$url = iconv("utf-8", "us-ascii//TRANSLIT", $url);
    		$url = strtolower($url);
    		$url = preg_replace('~[^-a-z0-9_]+~', '', $url);
     
    		return $url;
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $link 	= $this->url(array(
    		"title"	=> $this->friendlyUrls($row['title']),
    		"id"	=> $row['id_sejour'],
    		"page"	=> 1),
    		"fiche_sejours");
    Le champs titre qui est pourtant bien codé dans la bdd et à l'affichage :
    dtente-et-bien-tre-en-haute-provence-36i.html au lieu de detente-et-bien-etre-en-haute-provence-36i.html

    Que se passe-t-il ?

    Merci à tous,
    Fabrice

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 178
    Points : 230
    Points
    230
    Par défaut
    Hello,

    Simplement en lisant les commentaires dans la doc iconv() je peux voir que quelqu'un dit qu'iconv est sensible à la configuration LC_COLLATE.

    Serait-il possible que sur ton serveur de prod les locales que tu utilises sur ton poste de dev ne soient pas présentes ?

  3. #3
    Membre habitué
    Avatar de __fabrice
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Août 2004
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Août 2004
    Messages : 404
    Points : 194
    Points
    194
    Par défaut
    Yes , merci.

    Voici les modifs à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public function friendlyUrls($url) {
     
    	$url = preg_replace('~[^\\pL0-9_]+~u', '-', $url);
    	$url = trim($url, "-");
     
    	setlocale(LC_CTYPE, 'fr_FR.utf8');
    	$url = iconv("utf-8", "ascii//TRANSLIT", $url);
     
    	$url = strtolower($url);
    	$url = preg_replace('~[^-a-z0-9_]+~', '', $url);
     
    	return $url;
    }
    Fabrice

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 20/01/2010, 18h40
  2. Problème avec accent
    Par webide67 dans le forum Langage
    Réponses: 6
    Dernier message: 29/12/2009, 09h50
  3. [Système] problème avec accent utf8_decode
    Par ch_lensois dans le forum Langage
    Réponses: 1
    Dernier message: 28/11/2007, 13h24
  4. Problème avec accents Interbase
    Par koolkris dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/08/2005, 16h46
  5. Problème avec accents et CHARACTER SET ISO8859_1
    Par kinda dans le forum InterBase
    Réponses: 13
    Dernier message: 30/10/2003, 15h49

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