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 :

Comparaison string - encodage apostrophe/accent


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 12
    Points : 18
    Points
    18
    Par défaut Comparaison string - encodage apostrophe/accent
    Bonjour,
    je souhaite à partir du secteur d'activité sélectionné par l'utilisateur lui calculer une partie de la fiche de salaire ( en gros afficher le salaire brut, les taux de cotisations et les résultat puis salaire net).

    Je suis face à un problème d'encodage, à prioris, voila les symptômes :
    - Un formulaire avec une liste déroulante (plugin gravity forms de wordpress)

    Lors de la soumission du formulaire j'ai plusieurs cas :
    - La chaine de caractère est sans accent, sans apostrophes => OK, le script me trouve bien le taux correspondant dans le tableau en cherchant si une clé du type "chaine de caractère qui vient d'être soumise" existe. Sachant que les clés existes forcément puisque j'utilise une liste déroulante.

    Les ennuis commencent :
    - une chaine avec accent sans apostrophe => Marche pas, ok je rajoute une petite ligne avec la fonction strtr(), marche toujours pas, je me prend pas la tête, je vire tout les accents, tant pis pour les puristes.
    - Une chaine de caractère sans accent (normal j'ai tout viré), avec apostrophe => Marche pas, AARGHHH, je reste calme, je vais voir sur developpez.com si il y a des inspirés.

    je vous ai mis l'extrait du code qui pose problème.

    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
    17
    18
    19
    20
    21
    22
     
    /* $f => le tableau qui contient les data envoyé par le form
    $opt => un autre tableau qui contient la correspondance entre un code et un taux. */
    function get_taux_cotisation($f,$opt){
     
    	$mesSECTEURS= get_tableau_sect_activ();
    	// $sansacc=strtr($f[3], "éêèàô'", "eeeao ");
    	if(array_key_exists ( $f[3] , $mesSECTEURS)){
    		$CODE= $mesSECTEURS[$f[3]];
    		}else{
    		echo '<h1>'.$f[3].'</h1>';
    		}
    	return  $opt[$CODE];
     
    	}
    	// mon tableau data
    	function get_tableau_sect_activ(){
    	return array("Fabrique de ciment, de chaux et de plâtre" => '91',
    "Entreprises de sables et graviers, béton, enrobés"=>'91',
    "Fabriques de produits en ciment"=>'94',
    "Céramique et verre"=>'94',
    "Industrie textile et de l'habillement" => '55'};

  2. #2
    Membre du Club Avatar de Thibault92
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Points : 52
    Points
    52

  3. #3
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Si ton serveur a l'option magic quote d'activée lors de la réception des données POST elles sont échappées avec des antislashs.
    "L'eau" devient ainsi "L\'eau".
    Le souci peut donc venir de là.

    Sinon il peut y avoir un souci de BOM si tu encodes en UTF-8.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 12
    Points : 18
    Points
    18
    Par défaut
    Pour le addslash je ne pense pas, dans le code vous pouvez voir que si il ne trouve pas la clé dans le tableau, il me l'affiche en gros sur l'écran (h1).

    Et je n'ai jamais eu de slash rajoutés ou quoi que ce soit, la chaine de caractère qui est affichée est exactement celle qui se trouve en key dans le tableau mapé.

    Pour le BOM, je ne connais pas trop, je vais essayer de voir simplement si les fonctions utf8_encode-decode change quelques chose à mon script,

    merci pour les réponses en tout cas.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 12
    Points : 18
    Points
    18
    Par défaut
    Bon, à priori problème résolu :

    Le problème venait du plugin wordpres utilisé pour la gestion des formulaires qui est gravity form. J'avais utilisé un hook wp pour ajouter une liste déroulante par défaut qui contenait beaucoup de valeurs. Apparemment c'est cette manip qui provoquait le bug.
    En voulant tester, j'ai remis les apostrophes sur certaines valeurs et l'erreur avait disparue. Donc je suis parti pour les rajouter à la main une par une .

    Merci!

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

Discussions similaires

  1. Mauvais tri des String avec des accents
    Par lbreuillard dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 23/09/2005, 12h21
  2. [comparaison] probleme avec les accents
    Par Bibicmoi dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 29/08/2005, 20h51
  3. Comparaison string nombre
    Par yanndublanche dans le forum Langage
    Réponses: 3
    Dernier message: 30/06/2005, 14h51
  4. [String] Encodage de caractères pour une sortie HTML
    Par elitost dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 10/11/2004, 08h02
  5. [XML] encodage des accents
    Par matonfire dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 05/05/2004, 15h48

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