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

Python Discussion :

Codage des caractères spéciaux >_< !


Sujet :

Python

  1. #1
    Invité
    Invité(e)
    Par défaut Codage des caractères spéciaux >_< !
    Bonjour,

    Ayant bientôt fini mon petit script, je m'occupe des dernières sécurités pour éviter le plantage, mais je bloque sur l'utilisation des caractères spéciaux!
    Alors voici mon problème: j'appelle mon script Python depuis une page PHP en passant deux paramètres qui correspondent chacune à une chaine de caractère.
    Cependant, si une de ces chaines contient un caractère spécial, cela ne fonctionne plus

    J'ai effectué pas mal de recherches sur le net mais j'avoue ne pas y avoir compris grand chose entre les "charsets" et les "encoding"... J'ai essayé quelques trucs comme le coding en tête de page et la fonction unicode mais bon, sans succés

    Si quelqu'un veut bien m'apporter un peu plus d'explications, cela serait avec grand plaisir!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #! /usr/bin/python
    # -*- coding:utf-8 -*-
     
    import string
    import sys #Librairie qui permet de recuperer les variables passees en parametre.
     
    #Recuperation des donnees passees en parametre sous forme implode depuis PHP
    CVArImplode=unicode(sys.argv[1], "utf-8")
    ThemeTMPImplode=unicode(sys.argv[2], "utf-8")

  2. #2
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Entoure ta chaîne de caractères de guillemets.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
     
    import string
    import sys
     
    ma_var = unicode(sys.argv[1].decode('latin1'))
    print ma_var
    avec comme appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test.py "testé>coucou"
    renvoi1) pour au moins les caractères > et <, ce sont des caractères de redirection des flux stdin et stdout.
    2) fait gaffe a l'encodage, à moins que tu ne sois sûr de n'avoir que des caractères non accentués.
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Ok, sa fonctionne nickel, merci beaucoup!

Discussions similaires

  1. [MySQL] probleme de codage des caractères spéciaux
    Par rinuom99 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 01/11/2010, 15h42
  2. Réponses: 3
    Dernier message: 15/02/2008, 18h19
  3. [XSLT] Remplacer par des caractères spéciaux
    Par OXyGN dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 29/07/2005, 17h30
  4. traitement des caractères spéciaux avec XSLT
    Par Mirgue dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 19/07/2004, 16h57
  5. Où trouver la liste des caractères spéciaux?
    Par gamez dans le forum Langage
    Réponses: 3
    Dernier message: 19/08/2003, 17h54

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