1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2017
    Messages : 12
    Points : 6
    Points
    6

    Par défaut [getJson] Caractères accentués

    Bonjour a tous,

    Je vous contact car la actuellement je doit récupérer un fichier Json en Jquery, getJson fonctionne très bien pour ça, mais dans le résulta HTML, tout les accents on été remplaçer par des "?". J'en suis venus a suspecter getJson, Vus que les anglais utilise pas (ou peu) les accents je n'ai rien trouver sur le net sur ce problème de ce coté la...

    Donc ma première question est : est-ce que getJson est vraiment responsable de la perte des accents?

    Et la seconde est : Si il n'est pas responsable, d'où viendrais le problème?
    Du faite que l'encodage n'est pas spécifier dans le fichier Js?
    Ou car je le met en brut dans une balise HTML?

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    février 2009
    Messages
    5 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2009
    Messages : 5 580
    Points : 20 172
    Points
    20 172
    Billets dans le blog
    36

    Par défaut

    jQuery (AJAX) travaille uniquement en UTF-8

    Blog



    Nota bene : si vous devez être compatible avec les navigateurs obsolètes (IE8 et plus), vous devez convertir les codes ES2015 en ES5 avec Babel.

    FAQ JS Tutoriels JS

    Si un message vous a aidé ou vous semble pertinent, votez pour lui !

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2017
    Messages : 12
    Points : 6
    Points
    6

    Par défaut

    Dans ce cas pourquoi vus que les accents sont supportés en UTF-8, mon navigateur m'affiche ? a la place des caractère accentuer? (sachant que je viens de regarder, le thème principal du portail est bien en UTF-8 aussi)

  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
    37 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    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 : 37 241
    Points : 63 358
    Points
    63 358
    Billets dans le blog
    1

    Par défaut

    le thème principal du portail est bien en UTF-8 aussi
    C'est à dire ?

    Juste une balise meta charset ou le fichier lui même ?
    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


    réalisations :www.oxygen-translations.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2017
    Messages : 12
    Points : 6
    Points
    6

    Par défaut

    Vus que j'utilise le portail Liferay, je ne saurais dire si le fichier est encodé en UTF-8,

    Mais quand j'inspecte le code source de la page contenant tout mes portlet (dont celui où j'affiche le Json récupérer) je vois bien une balise Meta Charset régler sur UTF-8.

  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
    37 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    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 : 37 241
    Points : 63 358
    Points
    63 358
    Billets dans le blog
    1

    Par défaut

    la balise meta charset n'est pas suffisante, il faut savoir si le fichier lui même est en utf-8 et si le serveur délivre bien de l'utf-8 également
    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


    réalisations :www.oxygen-translations.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2017
    Messages : 12
    Points : 6
    Points
    6

    Par défaut

    Bon je vais aller faire un tour sur le forum Liferay pour savoir si un fichier est encodé sous le format UTF-8. (A moins que ce soit dans éclipse que je doit regarder? dans ce cas je fait comment?)

    Et comment je fait pour savoir si le serveur me renvois bien de l'UTF-8?

  8. #8
    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
    37 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    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 : 37 241
    Points : 63 358
    Points
    63 358
    Billets dans le blog
    1

    Par défaut

    commence déja dans éclispe dans les propriétés du fichier ...
    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


    réalisations :www.oxygen-translations.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2017
    Messages : 12
    Points : 6
    Points
    6

    Par défaut

    Alors les propriété du projet et de tout les fichiers n'étais pas tous régler sur UTF-8, mais cela a rien changer.

    EDIT : Je viens de faire un test tout simple mais concluant! j'ai écrit dans mon fichier JS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByClassName("test")[0].innerHTML = "&éçàè";
    Et j'ai bien vus à l'affichage mon "&éçàè"! cela veut donc dire que c'est pas du Js-->HTML que cela coince.

    Comment je peut checker que le json du serveur est bien envoyer avec les accents ou que le $.getJSON les écrase pas?

  10. #10
    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
    37 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    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 : 37 241
    Points : 63 358
    Points
    63 358
    Billets dans le blog
    1

    Par défaut

    Comme sus dit par Daniel Jquery ne les "écrasera pas" ...

    Regarde les headers dans ta console
    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


    réalisations :www.oxygen-translations.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2017
    Messages : 12
    Points : 6
    Points
    6

    Par défaut

    Ah! Je n'avais pas compris son message comme ça!

    Qu'entent-tu par headers? les headers HTML?

  12. #12
    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
    37 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    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 : 37 241
    Points : 63 358
    Points
    63 358
    Billets dans le blog
    1

    Par défaut

    les entêtes des réponses ajax ...
    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


    réalisations :www.oxygen-translations.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2017
    Messages : 12
    Points : 6
    Points
    6

    Par défaut

    Tu veut dire les paramètre utiliser dans ma fonction $.ajax que l'on peut trouver sous cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $.ajax({
    	type: ,
    	url: ,
    	crossDomain: ,
    	cache: ,
    	dataType: ,
    	contentType: ,
    	data: ,
    	success: function (result) {
     
    		        }
    	error: function (xhr, textStatus, errorThrown) {
    		            console.log(errorThrown);
    		        }});
    Si c'est le cas cela va être dur vus que j'utilise $.getJSON avec comme seul paramètre l'URL et la fonction traitant les résulta....

    Si ce n'est pas ça je ne vois absolument pas de quoi tu veut parler...

    EDIT : Bon mea culpa, je viens de trouver que ma fonction $getJSON peut s'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $.ajax({
    	url: requestURL,
    	dataType: "json",
    	contentType: "application/json; charset=UTF-8",
    	success: function (result) {
     
    		        }});

  14. #14
    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
    37 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    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 : 37 241
    Points : 63 358
    Points
    63 358
    Billets dans le blog
    1

    Par défaut

    Non je veux dire
    Regarde les headers dans ta console
    les entêtes des réponses ajax ...
    Nom : 000.png
Affichages : 22
Taille : 16,7 Ko
    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


    réalisations :www.oxygen-translations.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2017
    Messages : 12
    Points : 6
    Points
    6

    Par défaut

    A okai! je n'aurais pas penser aller chercher la!

    Néanmoins je sens que je vais m'amuser pour y retrouver.... Voici la seule ligne s'affichant dans la console JS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    The Web Console logging API (console.log, console.info, console.warn, console.error) has been disabled by a script on this page.
    Bon je vais voir si je peut trouver ce script et le désactiver au moins en dev....

  16. #16
    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
    37 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    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 : 37 241
    Points : 63 358
    Points
    63 358
    Billets dans le blog
    1

    Par défaut

    heu juste F12 et ouvre la ligne de ton ajax
    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


    réalisations :www.oxygen-translations.com|www.saftair.com| www.ouestisol.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
    Humour

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2017
    Messages : 12
    Points : 6
    Points
    6

    Par défaut

    La! Dans l'onglet network! j'ai réussit a avoir ses infos!

    Nom : Sans titre2.png
Affichages : 20
Taille : 42,6 Ko

    par contre je viens de tester l'URL avec les donnée JSON, et je vois que a l'intérieur il n'y a pas les accents.... J'en perd mon latin avec cette histoire...

    EDIT : Bon j'ai trouver un début de réponse! ce n'est pas le javascript ou ajax qui bug! c'est le passage de la servlet java au js qui foire!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    response.setContentType("text/json");
                PrintWriter out = response.getWriter();
                out.println(EncodingConverter.getISOtoUTF(responseString));
    Actuellement j'ai ce code qui ne convertie pas les caractère spéciaux en UTF 8, mais, si j'envoie directement (donc sans le EncodingConverter.getISOtoUTF(data) ) je ne me retrouve plus avec des "?" dans mon code, mais des "�"!

  18. #18
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : février 2017
    Messages : 12
    Points : 6
    Points
    6

    Par défaut

    C'est bon mon problème est résolut!

    On a remplacer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    response.setContentType("text/json");
     
    PrintWriter out = response.getWriter();
    out.println(EncodingConverter.getISOtoUTF(responseString));
    Par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    response.setContentType("application/json; charset=UTF-8");
    PrintWriter out = new PrintWriter(
                new OutputStreamWriter(response.getOutputStream(), "UTF8"), true);
     
    byte[] isoBytes = responseString.getBytes("UTF-8");
    String finalResponse = new String(isoBytes, "UTF-8");
     
    out.println(finalResponse);

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

Discussions similaires

  1. Caractères accentués avec <html:link>
    Par papysam dans le forum Struts
    Réponses: 5
    Dernier message: 25/05/2007, 15h18
  2. Chaines avec caractères accentués dans interbase
    Par Tsimplice dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/03/2004, 17h12
  3. Chaînes avec des caractères accentués dans Interbase
    Par François Marliac dans le forum Bases de données
    Réponses: 2
    Dernier message: 04/03/2004, 22h39
  4. [PostgreSQL] Les caractères accentués ?
    Par yacomor dans le forum Requêtes
    Réponses: 2
    Dernier message: 18/02/2003, 16h30
  5. insérer des caractères accentués INFORMIX/JDBC
    Par donde dans le forum Informix
    Réponses: 2
    Dernier message: 19/11/2002, 20h02

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