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 :

[jsp][servlet][jdbc] afficher texte arabe dans un textarea


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 25
    Points : 17
    Points
    17
    Par défaut [jsp][servlet][jdbc] afficher texte arabe dans un textarea
    Bonjour à tous.

    Je suis entrain de développer un forum de discussion et lorsque je veux extraire du texte en arabe à partir d'une BD Mysql pour l'afficher dans un input ou dans un textarea d'un formulaire, le texte affiché correspond aux caractères arabes codés en html du genre
    " &#1605 &#1606 &#1578 &#1587 &#1610 &#1576 &#1609"

    Comment faire pour afficher le texte en arabe dans un textarea ou un input?
    Merci

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 239
    Points : 239
    Points
    239
    Par défaut
    Salut,

    as-tu essayé de convertir ton texte arabe en caractères UNICODE ?

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 25
    Points : 17
    Points
    17
    Par défaut re
    C'est à dire? comment faire pour les convertir en unicode. J'ai configuré le champ en question dans la table en UTF8

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 239
    Points : 239
    Points
    239
    Par défaut
    Salut,

    après avoir lu ton message mis à jour je comprends mieux le pb .
    J'ai fait un test simple sur une page HTML. Dans un <input type="text" ... tu mets ta chaîne de caractère &#1605 &#1606 &#1578 &#1587 &#1610 &#1576 &#1609 dans l'attribut value="...".

    Pour textarea ce sera <textarea name="texte">&#1605 &#1606 &#1578 &#1587 &#1610 &#1576 &#1609</textarea>

    Par contre en ce qui concerne l'édition de ces zones de saisie, je ne sais pas du tout. Je sais qu'au Vietnam, ils utilisent des aides à la saisie qui tournent en tâche de fond.

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 25
    Points : 17
    Points
    17
    Par défaut re
    oui je me suis rendu compte après avoir publié le msg que les caractères ont été codés alors j'ai supprimé les ;

    sinon si j'initialise les champs de texte, ça se passe bien mais dès que je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.form1.champ.value = <%=variable%>
    ça me donne le code html des caractères arabe.

    Je n'ai pas encore trouvé la solution, alors qq'un peut il me faire sortir de cet engrenage.

  6. #6
    Membre expérimenté

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Points : 1 660
    Points
    1 660
    Par défaut
    Dans notre application, nous affichons des caractères grecs et autres langues, provenant d'une database et nous n'avons aucun problème d'affichage des caractères.
    Tout ce que l'on fait c'est d'ajouter cette ligne dans la page.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page contentType="text/html; charset=UTF-8"%>
    Langages : Java, SQL
    Outils : Eclipse, Intellij
    SGBD : Oracle, PostgreSQL
    Mes Articles

  7. #7
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 25
    Points : 17
    Points
    17
    Par défaut re
    oui je sais. l'affichage est correct sur une page web mais quand j'extrait les données de la BD et que j'affiche dans un textearea ou un champ de texte, c'est là que ça foire.

  8. #8
    Membre expérimenté

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Points : 1 660
    Points
    1 660
    Par défaut Re: re
    Citation Envoyé par villeneuvejsp
    oui je sais. l'affichage est correct sur une page web mais quand j'extrait les données de la BD et que j'affiche dans un textearea ou un champ de texte, c'est là que ça foire.
    C'est ça que je ne comprends pas, car le texte est également affiché dans un textarea

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <textarea name="langcontents" cols="80" rows="20" readonly><%out.write(languageText);%></textarea>
    Et le texte est bien affiché
    Langages : Java, SQL
    Outils : Eclipse, Intellij
    SGBD : Oracle, PostgreSQL
    Mes Articles

  9. #9
    Membre expérimenté

    Homme Profil pro
    Senior Développeur JEE
    Inscrit en
    Avril 2002
    Messages
    795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Senior Développeur JEE
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 795
    Points : 1 660
    Points
    1 660
    Par défaut
    Le texte se trouve-t-il dans un champs de type blob dans la database??

    Si oui alors voici ce que j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Blob blob = welcomePageSet.getBlob(1);
    	byte [] welcomePageBt = blob.getBytes((long) 1, (int)(blob.length()));
    Ensuite tu transforme le tableau de byte en String en spécifiant le character encoding

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String newString = new String(welcomePageBt, "UTF-8");
    Si c'est un champs de type varchar alors tu transforme les getString du ResultSet en getByte()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String rsString = resultSet.getString(1);
    et tu encode le résultat dans le character encoding

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String newString = new String(rsString.getByte(),"UTF-8");
    Voilà
    Bonne chance
    Langages : Java, SQL
    Outils : Eclipse, Intellij
    SGBD : Oracle, PostgreSQL
    Mes Articles

  10. #10
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 25
    Points : 17
    Points
    17
    Par défaut re
    Le code que t'avais mis est une initialisation du textarea par contre moi j'emploie le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    out.println("<script>document.form1.zone.value = " + rs.getString(2) + ";</script>");
    Un texte en français/anglais est correctement insérer par contre un texte en arabe est affiché par le code html des caractères arabe

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    239
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 239
    Points : 239
    Points
    239
    Par défaut Re: re
    Citation Envoyé par villeneuvejsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.form1.champ.value = <%=variable%>
    Il me semble que dans DOM il existe une propriété innerHTML qui permet de charger dynamiquement du code HTML mais je ne suis pas sûr que cette propriété soit conforme au standard W3C.

    A vérifier

  12. #12
    Membre à l'essai
    Inscrit en
    Novembre 2004
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 25
    Points : 17
    Points
    17
    Par défaut re
    j'essaierai de voir. en tous les cas c'est un problème javascript je crois. au début j'ai cru que le problème venait de jdbc ou jsp mais finalement lorsque j'ai testé directement sur une page html, le problème persistait

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

Discussions similaires

  1. comment afficher en arabe dans un label text
    Par lucastof dans le forum MATLAB
    Réponses: 1
    Dernier message: 29/05/2011, 02h26
  2. Réponses: 29
    Dernier message: 26/04/2011, 09h28
  3. afficher texte arabe dans les pages JSP
    Par Dina light dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 10/12/2008, 23h14
  4. [HTMLEditorKit] afficher texte html dans excel
    Par Invité dans le forum Composants
    Réponses: 1
    Dernier message: 23/08/2005, 10h43

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