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 :

[PHP-JS] Les accents, encore les accents.


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de menuge
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    727
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2004
    Messages : 727
    Points : 616
    Points
    616
    Par défaut [PHP-JS] Les accents, encore les accents.
    Salut à tous,

    je commence à ne plus avoir de cheveux!!!

    Je récupère d'un formulaire (en post) une donnée contenant des accents.

    Je dois supprimer ces accents.
    J'ai donc cherché sur le net et je suis tombé sur ce post:
    http://www.developpez.net/forums/sho...ght=php+accent

    j'ai donc écrit cette fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function removeAccents($string){ 
     	$string = utf8_decode($string);
     	$accents = 'áéíóúýÁÉÍÓÚÝàèìòùÀÈÌÒÙäëïöüÿÄËÏÖÜâêîôûÂÊÎÔÛåÅøØßçÇãñõÃÑÕ';
      	$withoutAccents    = 'aeiouyAEIOUYaeiouAEIOUaeiouyAEIOUaeiouAEIOUaAoOscCanoANO';
     	return strtr($string, $accents, $withoutAccents);
      }
    Malheureusement, voici le résultat que j'obtiens en passant en param Pragnères : Pragn?res...

    Je suis sous Linux (y a t il peut être un rappport??!!)

    Quelqu'un peut il m'aider?

    Merci d'avance!
    --
    Ludovic

  2. #2
    Membre régulier Avatar de NiHiL
    Inscrit en
    Juin 2006
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 101
    Points : 108
    Points
    108
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function removeAccents($string)
    { 
    $accents = 'áéíóúýÁÉÍÓÚÝàèìòùÀÈÌÒÙäëïöüÿÄËÏÖÜâêîôûÂÊÎÔÛåÅøØßçÇãñõÃÑÕ'; 
    $withoutAccents = 'aeiouyAEIOUYaeiouAEIOUaeiouyAEIOUaeiouAEIOUaAoOscCanoANO'; 
     
    return strtr($string, $accents, $withoutAccents); 
    }

  3. #3
    Membre confirmé Avatar de menuge
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    727
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2004
    Messages : 727
    Points : 616
    Points
    616
    Par défaut
    si je fais cela, j'ai ce résultat:

    --
    Ludovic

  4. #4
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Avec cet exemple
    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
    16
     
    <?php
     
    function removeAccents($string) 
    { 
    $accents = 'áéíóúýÁÉÍÓÚÝàèìòùÀÈÌÒÙäëïöüÿÄËÏÖÜâêîôûÂÊÎÔÛåÅøØßçÇãñõÃÑÕ'; 
    $withoutAccents = 'aeiouyAEIOUYaeiouAEIOUaeiouyAEIOUaeiouAEIOUaAoOscCanoANO';   
    return strtr($string, $accents, $withoutAccents); 
    }
     
    $string = "AEéèùàI";
    echo "avant : ". $string . "<br>";
    $string = removeAccents($string);
    echo "apres : ". $string . "<br>";
     
    ?>
    ca fonctionne très bien. Peux-tu le tester en remplacant ma string par la tienne, et en affichant bien "avant apres" pour voir ce qui se passe? Comment est ta string? en utf8 ou pas?

  5. #5
    Membre confirmé Avatar de menuge
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    727
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2004
    Messages : 727
    Points : 616
    Points
    616
    Par défaut
    Je viens d'éxécuter ton script en mode console, voici le résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    avant : AEéèùàI<br>apres : AENoNyNaNoI<br>
    --
    Ludovic

  6. #6
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    et tu as laissé mon code tel quel? sans rajoute de utf8_decode ou autre??

  7. #7
    Membre confirmé Avatar de menuge
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    727
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2004
    Messages : 727
    Points : 616
    Points
    616
    Par défaut
    Citation Envoyé par koopajah
    et tu as laissé mon code tel quel? sans rajoute de utf8_decode ou autre??
    oui oui!! je n'ai rien modifié!
    --
    Ludovic

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/05/2009, 11h08
  2. Les polices dans les tables et les requêts
    Par zooffy dans le forum Access
    Réponses: 3
    Dernier message: 21/06/2006, 11h06

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