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

Développement Web en Java Discussion :

Problème d'encoding des fichiers JavaScript


Sujet :

Développement Web en Java

  1. #1
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut Problème d'encoding des fichiers JavaScript
    Bonjour,

    J'ai un war qui contient un ensemble de fichiers JavaScript dans la partie publique. Tous ces fichiers sont encodés en UTF-8.
    Eclipse est également configuré en UTF-8, ainsi que mon pom.xml Maven.

    Donc, tout est UTF-8 mais lorsque j'importe dans une page un fichier JavaScript contenant des accents, j'ai des ã@ et autres caractères du genre.

    Sous Chrome je regarde les headers de réponse pour ce js et je constate qu'il n'a pas l'encodage UTF-8.

    J'ai essayé comme vu sur le net d'ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        <mime-mapping>
            <extension>js</extension>
            <mime-type>application/javascript;charset=UTF-8</mime-type>
        </mime-mapping>
    à mon web.xml mais ça ne change rien.

    Les Ã@ prouvent que le contenu est bien transmis en UTF-8 mais le navigateur n'ayant pas l'entête attendu, prend l'encodage par défaut, soit iso-8859-1

    Quelqu'un saurait-il m'indiquer comment résoudre ce problème ?

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Points : 17 036
    Points
    17 036
    Par défaut
    Bonjour,

    Regarde plutôt l'encoding des fichiers en question dans Eclipse (clic droit > Properties sur le fichier) et tu verras sûrement que ceux-ci ne sont pas en UTF-8.
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  3. #3
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    non tout est bien en utf-8

    si sur le poste de l'utilisateur je change l'encodage par défaut le fichier à bien ces caractères

    Merci tout de même
    A+JYT

  4. #4
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Points : 17 036
    Points
    17 036
    Par défaut
    Citation Envoyé par sekaijin Voir le message
    si sur le poste de l'utilisateur je change l'encodage par défaut le fichier a bien ces caractères
    Pas très précis comme explication ça...

    Si tu appelles le fichier JavaScript directement par son URL à partir du navigateur, ça donne quoi ?
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  5. #5
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    si l'encodage par défaut de mon navigateur est UTF-8
    lorsque je charge l'url l'encodage est OK

    si l'encodage par défaut de mon navigateur est ISO-8859-1
    lorsque je charge l'url j'ai des Ã@ ce qui corresponds à la lecteur ISO-8859-1 d'un fichier UTF-8

    j'en conclus que mon serveur envoie de l'UTF-8 mais que le navigateur ne le lit pas correctement.

    et effectivement si je regarde les entêtes de la réponse le content type est
    application/javascript mais il n'est pas fait mention d'un encodage.

    ma question est donc comment faire pour que le serveur envoie application/javascript; charset=UTF-8 ?

    A+JYT

  6. #6
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Bonjour
    c'est pire que je ne le pensais
    voici ma jsp
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <!DOCTYPE HTML>
    <html>
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>sample <%= new java.util.Date() %></title>
        <link rel="stylesheet" href="bootstrap.css">
        <link rel="stylesheet" href="./resources/sample-all.css"/>
        <script charset="UTF-8" src="/extjs-4.2/ext-all-debug.js"></script>
        <script charset="UTF-8" src="/extjs-4.2/locale/ext-lang-fr.js"></script>
        <script src="bootstrap.js"></script>
     
        <script src="app.js"></script>
    </head>
    <body></body>
    </html>
    le projet entier est en UTF-8 les pref d'eclipse sont UTF-8 les prefs du workspace sont UTF-8 le fichier est encodé UTF-8
    mon web.xml est en UTF-8 et contient
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd"
    	version="2.5">
     
    	<welcome-file-list>
    	    <welcome-file>index.html</welcome-file>
    	</welcome-file-list>
     
    	<mime-mapping>
    	    <extension>html</extension>
    	    <mime-type>text/html;charset=UTF-8</mime-type>
    	</mime-mapping>
     
    	<mime-mapping>
    	    <extension>json</extension>
    	    <mime-type>application/json;charset=UTF-8</mime-type>
    	</mime-mapping>
     
    	<servlet>
    		<servlet-name>welcome</servlet-name>
    		<servlet-class>fr.aphp.ati.eai.hermes.user.webapp.Welcome</servlet-class>
    	</servlet>
     
    	<servlet-mapping>
    		<servlet-name>welcome</servlet-name>
    		<url-pattern>/index.html</url-pattern>
    	</servlet-mapping>
    </web-app>
    et lorsque j'ouvre mon url dans mon navigateur
    voici les headers que m'envoie le serveur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Content-Length:503
    Content-Type:text/html;charset=ISO-8859-1
    Expires:Thu, 01 Jan 1970 00:00:00 GMT
    pire encore le contenu de la répônse à été altéré par le serveur car les attributs charset présent sur les balise script de la JSP ont disparu
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <!DOCTYPE HTML>
    <html>
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>sample Mon Aug 12 09:51:46 CEST 2013</title>
        <link rel="stylesheet" href="bootstrap.css">
        <link rel="stylesheet" href="./resources/sample-all.css"/>
        <script src="/extjs-4.2/ext-all-debug.js"></script>
        <script src="/extjs-4.2/locale/ext-lang-fr.js"></script>
        <script src="bootstrap.js"></script>
     
        <script src="app.js"></script>
    </head>
    <body></body>
    </html>
    j'avoue que là je ne comprends plus le fonctionnement des serveur web en java.
    le contenu reçu par le navigateur est bien de l'UTF-8

    Pourquoi java me sucre mes attribut qui sont des attribut standard et normalisés ?
    http://www.w3schools.com/tags/att_script_charset.asp
    A+JYT

  7. #7
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Points : 17 036
    Points
    17 036
    Par défaut
    Oui... c'est sûrement Java le problème

    T'es au niveau JSP là, c'est quand même un poil plus haut niveau que la problématique du langage...

    Les problèmes d'encoding, d'une manière générale, sont problématiques et dans une application web, il y a tellement de couches où une mauvaise configuration peut avoir un impact que si t'en oublies une ça pose problème.

    Quel est ton environnement d'exécution (serveur...) ? Ca peut aussi être un bug à ce niveau-là...
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  8. #8
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    mon serveur est un embeded jetty
    embarqué dans karaf

    A+JYT

Discussions similaires

  1. [POI] Problème de lecture des fichiers Word
    Par Dari dans le forum Documents
    Réponses: 9
    Dernier message: 05/07/2007, 14h08
  2. problème de joindre des fichiers dans internet explorer
    Par passion_info dans le forum Windows XP
    Réponses: 2
    Dernier message: 07/10/2006, 13h59
  3. [win] problème pour partager des fichiers entre 2 pc
    Par goma771 dans le forum Administration
    Réponses: 1
    Dernier message: 01/12/2005, 16h15
  4. [HTML] Problème mise à jour des fichiers en cache
    Par El Riiico dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 05/09/2005, 17h00
  5. Problème pour Télécharger des fichiers
    Par joce3000 dans le forum C++Builder
    Réponses: 8
    Dernier message: 21/01/2005, 10h30

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