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

HTML Discussion :

Texte avec caractères spéciaux en GET


Sujet :

HTML

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 19
    Points : 22
    Points
    22
    Par défaut Texte avec caractères spéciaux en GET
    Bonjour,
    J'essaie depuis quelques jours de trouver une solution pour passer du texte dans une variable en GET.
    Rien de très compliqué concrètement mais là où je sèche, c'est pour les caractères spéciaux (accents, ponctuation).

    Je pense que c'est uniquement une histoire d'encodage de caractères.
    J'ai commencé par l'utilisation des codes HTML et les codes HEXA mais sans succès.

    Sinon, une idée m'a traversé l'esprit ce matin.Vous allez certainement me dire que c'est complètement bête mais mon idée était d'utiliser un chiffrement symétrique.Mais est-ce qu'il existe une technique de chiffrement qui prennent en charge les accents et la ponctuation ?Vos idées sont les bienvenues.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par LORON B. Voir le message
    J'essaie depuis quelques jours de trouver une solution pour passer du texte dans une variable en GET.
    Rien de très compliqué concrètement mais là où je sèche, c'est pour les caractères spéciaux (accents, ponctuation).
    En principe le navigateur s'en occupe à ta place.
    Tu t'y prends comment, pour faire ce GET, si les accents et ponctuation ne fonctionnent pas mais le reste si ?

    Citation Envoyé par LORON B. Voir le message
    Sinon, une idée m'a traversé l'esprit ce matin.Vous allez certainement me dire que c'est complètement bête mais mon idée était d'utiliser un chiffrement symétrique.Mais est-ce qu'il existe une technique de chiffrement qui prennent en charge les accents et la ponctuation ?Vos idées sont les bienvenues.
    Le chiffrement travaille sur des octets. Les accents et ponctuations sont toujours représentables sous forme d'octets et donc, toutes les techniques de chiffrement les prennent en charge.
    La question étant plutôt quel encodage sera choisi pour encoder les accents en octets, et cela, dépendra de la technique que tu utilises. (Autrement dit, de la bibliothèque de chiffrement utilisée, si elle permet de choisir, et si oui, comment.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Passez à l'UTF-8 sans manquer une étape.
    Si tu respectes ce qui est indiqué dans le tuto, tu ne devrais pas avoir de problème avec les accents ou caractères spéciaux.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 19
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par thelvin Voir le message
    En principe le navigateur s'en occupe à ta place.
    Tu t'y prends comment, pour faire ce GET, si les accents et ponctuation ne fonctionnent pas mais le reste si ?

    Le chiffrement travaille sur des octets. Les accents et ponctuations sont toujours représentables sous forme d'octets et donc, toutes les techniques de chiffrement les prennent en charge.
    La question étant plutôt quel encodage sera choisi pour encoder les accents en octets, et cela, dépendra de la technique que tu utilises. (Autrement dit, de la bibliothèque de chiffrement utilisée, si elle permet de choisir, et si oui, comment.)
    je fais mes tests sur mon PC avant de mettre en place la solution sur un système embarqué.
    Quand je teste sur le PC, même problème que sur le système embarqué.

    J'ajoute les paramètres directement dans l'url, comme n'importe quelle page:
    - ?nomDeVariable=valeurDeVariable pour le premier paramètre
    - &nomDeVariable=valeurDeVariable pour les suivants

    Citation Envoyé par Bovino Voir le message
    Passez à l'UTF-8 sans manquer une étape.
    Si tu respectes ce qui est indiqué dans le tuto, tu ne devrais pas avoir de problème avec les accents ou caractères spéciaux.
    J'ai vérifié l'intégralité de mon code. Sauf erreur de ma part, tout est en UTF-8.

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par LORON B. Voir le message
    J'ajoute les paramètres directement dans l'url, comme n'importe quelle page:
    - ?nomDeVariable=valeurDeVariable pour le premier paramètre
    - &nomDeVariable=valeurDeVariable pour les suivants
    Et... Elle est où l'URL ? Dans un <a href> de ton fichier .html ? Dans la barre d'adresse ?

    Et le problème observé c'est quoi ? Qu'est-ce qui se passe et qu'est-ce que tu aurais préféré qu'il se passe à la place ?

    C'est vrai qu'après réflexion, si tu as un & dans tes valeurs, le navigateur peut pas le deviner, il va penser que c'est un séparateur entre deux paramètres. Dans ce cas, il faut appliquer le percent-encoding d'une manière ou d'une autre (en JavaScript, avec un langage côté serveur, à la main ou de quelque manière que ce soit,) et en faire un %26.
    Ça ne peut pas faire de mal de faire la même chose avec tous les autres caractères "inhabituels" (en se rappelant que pour tout ce qui n'est pas ASCII, comme les accents, il y aura peut-être besoin d'indiquer quel encodage utiliser pour passer de caractère à octets, sinon il risque d'en choisir un automatiquement et que ce ne soit pas UTF-8.) Ça ne peut pas faire de mal, mais en principe un navigateur fera cela à ta place sans se tromper.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2011
    Messages : 19
    Points : 22
    Points
    22
    Par défaut
    Les paramètres sont dans la barre d'adresse du navigateur quand j'effectue la prévisualisation sur le PC.
    En revanche, le système embarqué utilise un fichier de configuration qui se rapproche du SMIL.

    Sympthomes:
    - affichage des codes HTML ou HEXA, malgré l'utilisation de la fonction decodeURI().
    - caractères manquants mais, c'est la présence du &.

    Je vais essayer de d'utiliser une regex pour récupérer les paramètres et voir si ça peut solutionner le problème des caractères manquants

    J'ai en partie résolu le problème.

    Le système embarqué utilise une bibliothèque JS particulière pour récupérer les paramètres.
    En parcourant cette bibliothèque fournie par le constructeur, j'ai pu constater l'utilisation de la fonction unescape qui est aujourd'hui deprecated.

    A la suite de cette correction, j'ai effectué différents tests. Tout semble fonctionner comme voulu.
    En revanche, la prévisualisation sur l'écran du PC ne fonctionne toujours pas.

    Merci à tous !

Discussions similaires

  1. [MySQL] Problèmes avec caractères spéciaux
    Par brokengillou dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 27/04/2006, 17h02
  2. recupérer GET avec caractères spéciaux
    Par masseur dans le forum Langage
    Réponses: 11
    Dernier message: 03/01/2006, 11h37
  3. [RegEx] chaîne de caractères avec caractères spéciaux
    Par Kerod dans le forum Langage
    Réponses: 9
    Dernier message: 25/12/2005, 01h40
  4. Réponses: 3
    Dernier message: 01/12/2005, 21h38
  5. Réponses: 3
    Dernier message: 11/10/2004, 17h26

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