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 :

Ecrire : problème d'affichage des caractères spéciaux


Sujet :

Développement Web en Java

  1. #1
    Membre du Club Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 67
    Points
    67
    Par défaut Ecrire : problème d'affichage des caractères spéciaux
    bonjour,

    Je travaille avec Netbeans, pages jsp, struts.

    j'ai un problème pour l'affichage du contenue d'une page html exactement l'affichage des caractères spéciaux comme : é à è ...

    je vais vous montrer comment je fais l'appel a cette page html :
    dans page jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <%   String path="page1.html"  %>
    <a href="dossier1/<%= path %>">
    je signale que dossier1 se trouve dans le dossier courant qui est 'web' (pour l'architecture physique des dosssiers utilisée par Netbeans)

    voilà comment le contenu s'affiche : le problème est dans ' écrire ' :
    -----------
    si je peux �crire tout ce que ...
    -------------

    ce qui est bizare c'est qu'on j'ouvre cette page html, le browser l'affiche correctement, mais si je passe par un lien href, ça marche pas.
    je signale une autre fois que j'ajoute dans ma page jsp le type de codage suivant : <%@page pageEncoding="UTF-8"%>


    Merci de m'aider.

    Sisiniya

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    Le problème ne vient certainement pas de ton path, mais plutôt de l'encodage de tes fichiers.

    Je n'utilise pas netbeans, mais tu dois avoir la possibilité de définir l'encodage des fichiers html. Il faut que cet encodage corresponde à celui déclaré dans le header de ta page html :

    Par exemple, si ton fichier est encodé en utf-8 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    </head>

  3. #3
    Membre du Club Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 67
    Points
    67
    Par défaut
    Tout d'abord, merci pour votre réponse.

    au fait, j'ai fait un test, c'est que j'ai enregistré page html du developper.net/forum et je l'ai passé au <a href=""> mais toujours y a le problème de l'affichage des caractères accentué, malgrès que dans mon jsp j'ai précisé le mode de encodage.

    d'ailleurs, mon but, c'est depuis n'importe quelle page html (quelque soit) je dois l'afficher à partir de ce url (<a href .. >). En d'autre terme, j'ai pas le droit d'accéder (pour ajouter une ligne d'encodage)à ces pages html que je souhaite afficher .

    Merci de m'aider svp.

    Sisiniya.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    De quelle manière as-tu enregistré la page du forum ?

    Si tu as fais un copier-collé dans netbeans, le problème est toujours le même. Tu dois configurer netbeans pour qu'il encode les fichiers html soit en utf-8, soit en iso-8859-1, et ensuite tu dois déclarer cet encodage dans le header.

    Dans le cas de ton test avec la page du forum, utilise plutôt la fonction d'enregistrement de ton navigateur, car il faut que tu gardes l'encodage d'origine.

  5. #5
    Membre du Club Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 67
    Points
    67
    Par défaut
    oui effectivement, c'est ce que j'ai fait, je l'ai enregistrer telle qu'elle est (à partir du brower -> enregistrer sous). et comme j'ai déjà signalé :

    j'ai intégré dans le header de ma page jsp l'encodage utf-8, et je dois accéder à n'importe quelle page html depuis <a href ...> que j'ai mis dans la jsp.

    je signale que j'ai pas le droit d'ouvrir en ajout ni en modification les pages html que je souhaite accéder.

  6. #6
    Membre du Club Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 67
    Points
    67
    Par défaut
    je crois que c'est pas le problème de type d'encodage de la page jsp, car dans cette page je réussi à afficher des textes utilisant ces caractères :'é' 'à'

    Mon problème réside lors de l'appel d'un fichier.html via <a href ....>, là j'ai un problème d'affichage de ce fichier.html, par contre, si je l'ouvre par le browser, il s'affiche correctement.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    Tu veux dire que lorsque tu saisies l'url de ta page directement dans ton navigateur, elle s'affiche correctement. Elle lorsque tu accèdes à cette page via le lien hypertexte, tu rencontres un problème d'encodage ?

    Si c'est effectivement le cas, alors là ça me dépasse

  8. #8
    Membre du Club Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 67
    Points
    67
    Par défaut
    effectivement c'est ce que je veux dire. Alors, verbose, si ça vous dépasse, j'ai un autre problème que je crois il ne va pas vou dépassé cette fois ci^^.


    Je lis depuis un fichier (file1) des mots (y compris ceux qui ont des caract_res accentués), ensuite je stocke ces mots dans un autre fichier(file2). le problème c'est que les mots accentué que je viens de stocker dans file2, se stocke avec des caractères bizarre.


    Merci de m'aider

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    De quelle manière sont lus et écrits les mots ?

  10. #10
    Membre du Club Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 67
    Points
    67
    Par défaut
    la lecture avec : BufferedReader
    et l'écriture avec : PrintWriter

  11. #11
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 132
    Points : 419
    Points
    419
    Par défaut
    Salut,

    Il faut que tu définisses le bon charset à utiliser dans le constructeur de tes InputStreamReader et PrintWriter.

    A+

  12. #12
    Membre du Club Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 67
    Points
    67
    Par défaut
    moi j'utilise cette syntaxe d eprintWriter, mais y a pas un moyen dans cette syntaxe pour indiquer le type d'encodage.

    sortieContenu = new PrintWriter (new FileWriter ("web/docContenue/doc1.html") ;

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 802
    Points : 653
    Points
    653
    Par défaut
    Essaye un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    FileOutputStream fos = new FileOutputStream("web/docContenue/doc1.html");
    output = new PrintWriter(new OutputStreamWriter(fos, "utf-8"));
    A la place de utf-8, tu mets l'encodage voulu en écriture.

Discussions similaires

  1. problème d'affichage des caractères spéciaux avec la console Dos
    Par javass dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 14/05/2008, 17h58
  2. XML : Problème d'affichage des caractères spéciaux
    Par steph43800 dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 11/07/2007, 09h18
  3. [AJAX] Affichage des caractères spéciaux
    Par mitmit dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/04/2007, 13h47
  4. problème avec l'affichage des caractères spéciaux
    Par michelkey dans le forum Général Python
    Réponses: 4
    Dernier message: 19/08/2005, 08h09
  5. Problème d'affichage des caractères accentués
    Par ostaquet dans le forum JBuilder
    Réponses: 1
    Dernier message: 10/03/2005, 06h58

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