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

Servlets/JSP Java Discussion :

probleme de charset


Sujet :

Servlets/JSP Java

  1. #21
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 23
    Par défaut
    Je reviens pour demander de l'aide encore une fois.

    J'explique la situation:

    J'ai une page jsp avec à l'intérieur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page contentType="text/html;charset=UTF-8" %>
    Malheureusement je ne peux pas modifier cela.

    Je veux pouvoir voir des caractères chinois codés en ISO et visible grâce au GB2312

    J'arrive à voir mes caractères en changeant le codage de la page (passage au GB2312)
    Malheureusement en utilisant le code d'avant pour changer automatiquement mon charset,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var code = navigator.userLanguage.substring(0,2);
    if(code == "fr")
    { 
    document.charset='UTF-8';
    }
    else
    {
    document.charset='GB2312';
    }

    les caractères chinois ne sont pas décodés alors que je suis bien en GB2312.

    Est ce que cela est du au fait que les caractères chinois sont en base ISO?

    Je n'y comprend vraiment rien
    Au secours!!

  2. #22
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 23
    Par défaut
    Pour que tout marche il faudrait en fait pouvoir faire dans la jsp et non en javascript une condition en fonction de la langue et ecrire le charset en fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page contentType="text/html;charset=UTF-8" %>
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page contentType="text/html;charset=GB2312" %>
    Est que cela est possible de tout faire en jsp??
    Le problème c'est que c'est du code serveur et qu'il me semble difficile de récupérer la langue du client.

    Qu'en pensez vous??

  3. #23
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 138
    Par défaut
    Le problème c'est que c'est du code serveur et qu'il me semble difficile de récupérer la langue du client.
    Cette phrase ne te rappelle pas quelque chose? Si ton serveur a besoin de connaitre quelque chose que seul le client peut lui fournir ==> AJAX !!!

    Et oui, au chargement de ta page, envoie une requête au serveur avec la langue dedans...enfin je pense.

    Mais il serait bon de recharger la page ne penses-tu pas? En effet, si ta page est déjà chargée entièrement, un bon rafraichissement ne choquera pas l'utilisateur, qui comprendra la situation. Bref, tu as besoin d'un aller-retour client-serveur de plus, j'en ai peur.

  4. #24
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 23
    Par défaut
    Code : 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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <%@ page import="java.util.*" %>
    <%
     
    String accept_language = request.getHeader("accept-language");
    StringTokenizer st = new StringTokenizer(accept_language,",");
    int itok = 0;
    String[] fields=new String[10];
    while (st.hasMoreTokens())
    {
      String temp;
            temp = st.nextToken();
            fields[itok] = temp;
            itok++;
    } 
    StringTokenizer st2 = new StringTokenizer(fields[1],";");
    itok = 0;
    String[] fields2=new String[10];
    while (st2.hasMoreTokens())
    {
      String temp2;
            temp2 = st2.nextToken();
            fields2[itok] = temp2;
            itok++;
    }
     
    String langue = fields2[0];
     
     
     
    System.out.println("===="+langue+"====");
    String charsetparam;
    if(langue.equals("fr"))
    {
      charsetparam = "GB2312";
     
    }
    else
    {
      charsetparam = "UTF-8";
    }
     
     
    System.out.println(charsetparam);
     
            
    %>
    Cela permet de récupérer côté serveur la langue de IE

    maintenant c'est de la pure syntaxe comment insérer ma valeur charsetparam dans la ligne suivante à la place de UTF-8

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page contentType="text/html;charset=UTF-8" %>

  5. #25
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 138
    Par défaut
    Bonjour à toi,

    if(langue.equals("fr"))
    {
    charsetparam = "GB2312";

    }
    Es-tu sûr de toi là ?

    Sinon, pour insérer ta valeur charsetParam, je dirais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ page contentType="text/html;" + charsetParam %>
    Vérifie en affichant la source que les guillemets sont bien présents dans ton option.

    Bon courage,

    @+

Discussions similaires

  1. probleme de charset sur JSP multilangue
    Par pcouas dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 20/11/2008, 22h56
  2. Probleme de charset
    Par tom7777 dans le forum Langage
    Réponses: 7
    Dernier message: 02/09/2008, 04h45
  3. [UTF8] probleme de charset
    Par max44410 dans le forum Langage
    Réponses: 1
    Dernier message: 03/12/2007, 10h13
  4. probleme de charset
    Par loig.noblet dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 08/03/2007, 13h12
  5. [MySQL] Problème de charset avant l'envoi dans la BDD
    Par Death83 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 29/08/2006, 18h51

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