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

jQuery Discussion :

[getJson] Caractères accentués


Sujet :

jQuery

  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
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    jQuery (AJAX) travaille uniquement en UTF-8

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  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
    39 637
    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 637
    Points : 66 656
    Points
    66 656
    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

    Venez sur le Chat de Développez !

  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
    39 637
    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 637
    Points : 66 656
    Points
    66 656
    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

    Venez sur le Chat de Développez !

  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
    39 637
    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 637
    Points : 66 656
    Points
    66 656
    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

    Venez sur le Chat de Développez !

  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
    39 637
    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 637
    Points : 66 656
    Points
    66 656
    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

    Venez sur le Chat de Développez !

  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
    39 637
    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 637
    Points : 66 656
    Points
    66 656
    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

    Venez sur le Chat de Développez !

  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
    39 637
    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 637
    Points : 66 656
    Points
    66 656
    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 : 550
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

    Venez sur le Chat de Développez !

  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
    39 637
    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 637
    Points : 66 656
    Points
    66 656
    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

    Venez sur le Chat de Développez !

  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 : 611
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 1
    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