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 Perl Discussion :

Uppercase uc() et lettres accentuées


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Par défaut Uppercase uc() et lettres accentuées
    Bonjour,

    A priori, la fonction uc() ne gère pas les lettres accentuées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    uc('décembre') donne DéCEMBRE au lieu de DÉCEMBRE ou DECEMBRE
    Est-ce que quelqu'un à une solution (module ou autre) pour palier à ce problème ?

    Merci par avance
    Stéphane

  2. #2
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    Tu peux utiliser une substitution avant de mettre en majuscules :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    my $var = 'décembre';
    $var =~ s/[éèêë]/e/g; # ou directement $var =~ s/[éèêë]/E/g; 
    print uc($var);

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 57
    Par défaut
    Ou pour éviter de gérer toutes les possibilités , utiliser Text-Unidecode


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    use Text::Unidecode;
     
    my $var = 'décembre';
     
    print uc(unidecode($var));

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2008
    Messages : 24
    Par défaut
    Impec ! Le module Text::Unidecode répond exactement à mon besoin.

    Merci encore
    Stéphane

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/05/2007, 23h49
  2. Réponses: 6
    Dernier message: 12/12/2006, 12h27
  3. Récupération des lettres accentuées
    Par troumad dans le forum Installation
    Réponses: 5
    Dernier message: 15/11/2005, 22h28
  4. HashCode avec lettres accentuées...
    Par Kineas dans le forum C++
    Réponses: 4
    Dernier message: 08/04/2005, 11h54
  5. Comment entrer des lettres accentuées sous postgresql ?
    Par Chihuahua dans le forum Requêtes
    Réponses: 11
    Dernier message: 28/08/2003, 09h04

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