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 :

Conversion de minuscule accentuée en majuscule sans accent


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 239
    Par défaut Conversion de minuscule accentuée en majuscule sans accent
    Bonjour,

    j'ai un ptit souci... Je travaille avec un charset : utf8

    Je reçois des données accentuées issues d'un formulaire. Pour certains champs de ma BDD, je souhaite convertir mes données en majuscules non accentuées. J'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $data[$i] = $_POST[$column[$i]];
    		if($column[$i]=='nom' || $column[$i]= 'prenom' || $column[$i]=='ville') {
    			$data[$i] = strtoupper($data[$i]);
    			$data[$i] = strtr($data[$i], 
    			'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
    			'AAAAAACEEEEIIIIOOOOOUUUUYAAAAAACEEEEIIIIOOOOOOUUUUYY');
    			}
    		$data[$i] = utf8_decode($data[$i]);
    Seulement si je rentre 'àtà', il m'insert 'YYTYY'. Autrement dit, la conversion à bien lieu pour le 't' mais pas pour la 'à'.
    Si j'envlève les lilgnes de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $data[$i] = strtr($data[$i], 
    			'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
    			'AAAAAACEEEEIIIIOOOOOUUUUYAAAAAACEEEEIIIIOOOOOOUUUUYY');
    alors il m'insert 'éTé' ...

    Pourtant ce petit bout de code semble correct...

    Si vous avez une idée !

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    Salut,
    Je crois qu'il faut que tu gère chaque caractère accentué et faire après avec un switch ...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 239
    Par défaut
    Peux-tu être un peu plus précis stp...

    Qu'est-ce que tu veux dire...

  4. #4
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 22
    Par défaut
    Essaie mb_strtoupper au lieu de strtoupper.

    manuel php

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 239
    Par défaut
    Même avec mb_strtoupper ça ne fonctionne pas !

    Pourtant si on s'en réfère au 4ème POST de :

    http://www.developpez.net/forums/sho...d.php?t=218794

    ma fonction est correcte et devrait marcher !!

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

Discussions similaires

  1. [AC-2003] majuscules sans accents
    Par novice06 dans le forum VBA Access
    Réponses: 5
    Dernier message: 01/05/2010, 09h04
  2. Minuscule en majuscule sans accents
    Par Misha dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 26/01/2010, 16h47
  3. [JavaScript] [SRC] toUpperCase / Majuscules sans accents
    Par lifty dans le forum Contribuez
    Réponses: 5
    Dernier message: 16/06/2009, 10h29
  4. Majuscule sans accent
    Par Monjarno dans le forum Excel
    Réponses: 2
    Dernier message: 23/08/2007, 11h20
  5. [Sql] NLS_UPPER minuscules accentuées en majuscules
    Par joel.bouvot@accenture.com dans le forum Oracle
    Réponses: 4
    Dernier message: 21/02/2006, 16h47

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