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

JavaScript Discussion :

Encodage décodage caractères accentués


Sujet :

JavaScript

Vue hybride

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

    Informations forums :
    Inscription : Mars 2013
    Messages : 122
    Par défaut Encodage décodage caractères accentués
    Bonjour,

    Pour supprimer le codage des espaces, unescape() étant déprécié, il faut désormais utiliser decodeURI() ou decodeURIComponent()

    Mais s'il y a des caractères accentués cette nouvelle fonction pose problème.

    Je n'ai pas réussi à trouver comment "coder" la fonction replace !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    txt = txt.replace("%20"/g," ");
    // Ne marche pas
    Si vous pouvez me mettre sur une piste voire autre solution, je suis preneur !


    Pour information encodeURIComponent() posant le même problème , j'ai trouvé la solution suivante pour l'opération inverse sur les URL, à savoir encoder les espaces par %20 par lorsque le texte contient des caractéres accentués.

    Espérons que cette solution soit pérenne !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // Pour formater un texte contenant des caractères accentués en URL, autrement que par
    txt = encodeURIComponent(txt) 
    // Utilisation de 
    txt = txt.replace(/ /g,"%20");
    // Pour remplacer uniquement les espaces éventuels sans toucher aux caractères accentués
    Bien cordialement

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 122
    Par défaut
    Bourde tellement évidente et qui se produit lorsqu'on assure la maintenance de différents langages de programmation aux syntaxes différentes ! ...

    Pour supprimer le codage des espaces cela marche nettement mieux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txt = txt.replace(/%20/g," ");
    Reste qu'on est loin du résultat (mais il peut être implémenté) de unescape car - en l'état - les caractères accentués et parenthèses restent codés.

    Cela signifie-t-il qu'il faille abandonner en entête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    Au profit de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    ... et bien entendu respecter obligatoirement un codage et décodage avec les nouvelles instructions (encodeURIComponent, decodeURIComponent !

    Mais cela demande une analyse complète des fichiers utilisant les liens URL pour écrire en clair l'information sur les pages HTML.

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

Discussions similaires

  1. [PHP 5.4] Encodage de caractères accentués
    Par van-bom dans le forum Langage
    Réponses: 8
    Dernier message: 27/04/2014, 15h48
  2. [PHP 4] Encodage de caractères accentués qui bug d'un seul coup
    Par MeHo_ dans le forum Langage
    Réponses: 0
    Dernier message: 19/11/2010, 11h18
  3. Encodage des caractères accentués
    Par xc78370 dans le forum jQuery
    Réponses: 13
    Dernier message: 08/09/2009, 07h08
  4. [GWT] Encodage des caractères accentués
    Par Invité dans le forum GWT et Vaadin
    Réponses: 9
    Dernier message: 08/11/2007, 16h20
  5. [SQL] Problème d'encodage : les caractères accentués, sont affichés en "?"
    Par arnaudperfect dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 12/10/2007, 14h57

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