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 :

String encoder en latin 1 vers de utf 8


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Points : 67
    Points
    67
    Par défaut String encoder en latin 1 vers de utf 8
    Bonjour,

    j'ai une chaine de caractères que je voudrais encoder en UTF-8 en javascript bien sur.

    Je n'ai trouvé nulle part une réponse à cette question.

    Beaucoup de réponses php ruby .... mais pas javascript merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 672
    Points
    66 672
    Billets dans le blog
    1
    Par défaut
    a part modifier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    ou convertir ton fichier même en utf 8 ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Points : 67
    Points
    67
    Par défaut
    ben en faite je recupe une chaine de caractere déjà en UTF-8 qui était en latin 1 et j'ai besoins de refaire un encodage dessus en UTF-8.

    pour avoir ça :

    pour le moment j'ai ça
    en UTF-8 :
    é = c3 a9
    è = c3 a8

    et je voudrais ça:
    en UTF-8 qui a subi par erreur une conversion de trop Latin1 -> UTF-8 :
    é = c3 83 c2 a9
    è = c3 83 c2 a8

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 672
    Points
    66 672
    Billets dans le blog
    1
    Par défaut
    tu devrais plutot regarder par là
    http://j-willette.developpez.com/tut...-site-en-utf8/

    pour moi le souci est en amont ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    Par défaut
    Ce que veut dire SpaceFrog (si j'ai bien compris ) c'est que javascript ne permet pas de réencoder une chaîne de caractères parce que ça n'a pas de sens (ce serait même "dangereux" car le navigateur ne regarde le charset qu'au chargement de la page). En effet, lorsque tu as un site web, tu as 2 solutions :
    • un site web avec des pages HTML statiques. Dans ce cas pour avoir de l'UTF-8 il suffit d'encoder tes fichiers HTML en UTF-8 et de spécifier que le charset est de l'UTF-8 dans les metadata.
    • un site web dont les pages sont générées par un serveur (PHP, Java, ...) avec potentiellement des données récupérés d'une base de données. Auquel cas les fichiers doivent être formattés en UTF-8 et c'est au développeur de la partie serveur de s'assurer que le contenu qu'il injecte dynamiquement dans les pages est aussi en UTF-8.


    Dans tous les cas ce n'est pas au javascript de gérer l'encodage.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 672
    Points
    66 672
    Billets dans le blog
    1
    Par défaut
    en fait je ne vois pas du tout l'intéret de le faire en javascript ... bein que ce soit réalisable
    http://www.webtoolkit.info/javascript-utf8.html
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Points : 67
    Points
    67
    Par défaut
    ce n'est pas un problème.

    Pour l'instant l'encodage de mon caractère é = en ascii %c3%a9

    et je voudrais l'avoir comme ceci : %c3%83%c2%a9

    Donc je sais que je peux l'avoir comme ceci si je refait un encodage utf-8 sur ma chaine.

    Seule problème en javascript, il n'y a rien pour faire cela.

  8. #8
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    en fait je ne vois pas du tout l'intéret de le faire en javascript ... bein que ce soit réalisable
    http://www.webtoolkit.info/javascript-utf8.html
    Mouarf c'est assez "manuel" quand même.

    Mais bon, oui c'est possible effectivement. ^_^

    @jameson : si tu vas voir le code sur le site donné dans le post juste avant le tien, tu auras une fonction permettant d'encoder en UTF-8.

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 672
    Points
    66 672
    Billets dans le blog
    1
    Par défaut
    A priori il y aurait même plus simple ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function encode_utf8( s )
    {
      return unescape( encodeURIComponent( s ) );
    }
     
    function decode_utf8( s )
    {
      return decodeURIComponent( escape( s ) );
    }
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Points : 67
    Points
    67
    Par défaut
    j'ai déjà essayé comme ça mais ça ne fonctionne pas bien, je vais continuer mes recherches.

    Merci pour votre aide encore.

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    478
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 478
    Points : 189
    Points
    189
    Par défaut
    J'ai pas mal galere avec l'encodage mais avec le code suivant j'avais obtenu un bon resultat style : Ce%20resto%20situe%20en%20plein%20c%3Fur%20de%20Rennes%20une%20e


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for ($i=0; $i < $total_table6; $i++){
    	$commentaire[]=trim($table6[$i]['commentaire']);
    }
     
    $sumcom=nl2br(htmlspecialchars(implode(',',$commentaire),ENT_QUOTES,'UTF-8'));
    $sumcom=stripslashes($sumcom);
    $sumcom=rawurlencode(utf8_decode(nl2br($sumcom)));
    $sumcom=str_replace(array("\r","\n"),'',$sumcom);

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Points : 67
    Points
    67
    Par défaut
    Non ben enfaite quand je récupère ma chaine de caractère il me supprime mes caractère accentué. je vais faire autrement je travail pas sur un site mes sur une box.

    Merci bonne journée.

Discussions similaires

  1. Date String ex: 18 juin 1900 vers 18/06/1900
    Par dumbl dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 24/09/2013, 00h28
  2. [XML] XML encoding="ISO-8859-1" vers php
    Par albert12345 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 15/08/2011, 23h18
  3. Outils (vista) pour convertir des fichiers vers l'UTF-8 ?
    Par Sergejack dans le forum Windows
    Réponses: 5
    Dernier message: 12/12/2008, 13h44
  4. [String] Encoder en base64
    Par zarbouine dans le forum Delphi
    Réponses: 10
    Dernier message: 07/03/2007, 08h43
  5. Conversion du charset cyrillique vers l'UTF-8
    Par pach dans le forum Oracle
    Réponses: 2
    Dernier message: 12/01/2006, 13h47

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