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

Langage Java Discussion :

[Encoding]Je n'arrive pas à afficher les caractères grecs correctement


Sujet :

Langage Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de elitost
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2003
    Messages
    1 985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 985
    Par défaut [Encoding]Je n'arrive pas à afficher les caractères grecs correctement
    Bonjour,

    J'ai quelques soucis pour afficher correctement côté Java les données textuelles grecques d'une colonne CLOB d'une base Oracle :

    Oracle DATABASE 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
    PL/SQL Release 10.2.0.3.0 - Production
    CORE 10.2.0.3.0 Production
    TNS FOR Solaris: Version 10.2.0.3.0 - Production
    NLSRTL Version 10.2.0.3.0 - Production
    Le CHARACTER_SET de la base :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NLS_CHARACTERSET               AL32UTF8
    Le script de la table :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE MY_MARKUP_TABLE
    (
      QUERY_ID  NUMBER,
      DOCUMENT  CLOB
    )

    Le code pour récupérer et afficher le contenu :

    Code java : 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
            try {
     
                conn = getConnection();
     
                Statement stmt = conn.createStatement();
     
                // Execute the function and get the return object from the call
                ResultSet rs = stmt.executeQuery("select DOCUMENT from MY_MARKUP_TABLE");
     
                rs.next();
     
                Clob var = rs.getClob("DOCUMENT");
     
                Reader in = var.getCharacterStream();
     
                StringBuffer buf = new StringBuffer();
     
                try {
                    for (int c = in.read(); c != -1; c = in.read()) {
                        buf.append((char) c);
                    }
     
                } catch (IOException e) {
                    e.printStackTrace();
                } finally {
                    try {
                        in.close();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
                System.out.println(buf.toString());
     
            } catch (SQLException e) {
                e.printStackTrace();
     
            } finally {
     
                closeConnection(conn);
            }

    Avec SQL Developper, les caractères sont correctement affichés (cf. pièce jointe).

    Et ma console m'affiche via le System.out.println(buf.toString()); :

    Code hml : 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
     
    <html><body><p/>
    <br /><font face="Times New Roman" size="3">EL<div align="center"></font>
    <p><font face="Times New Roman" size="3"><b>SANCO/3175/2007 Rev.1 (POOL/E3/2007/3175/3175R1-EN.doc)</b></font>
    <p><font face="Times New Roman" size="3">&nbsp;</font>
    <br style="page-break-before:always" />
    </div>
     
    <table width="631" border="1"><tr valign="top"><td width="120"><font face="Arial" size="3"><br /></font>
    </td>
    <td width="510"><font face="Arial" size="3">???????? ??? ?????????? ??????????</font>
    </td>
    </tr>
    </table>
    <font face="Times New Roman" size="3">B????????,</font>
    <p><font face="Times New Roman" size="3">C(2007)	&nbsp;??????<div align="center"></font>
    <p><font face="Times New Roman" size="3">??????</font>
    <p><font face="Times New Roman" size="3"><b>??????? ??? ?????????</b></font>
    <p><font face="Times New Roman" size="3"><b>???</b></font>
    <p><font face="Times New Roman" size="3"><b>??? ??? ??????????? ??? ??????? 2002/72/?? ??????? ?? ?? ???????? ????? ??? ??????????? ??? ???????????? ?? ?????? ?? ????? ?? ??????? </b></font>
    <p><font face="Times New Roman" size="3">(???????? ??? ?. ?. ?????????)</font>
    <p><font face="Times New Roman" size="5"><u><b>&nbsp;</b></u></font>
    ...
    ...

    J'imagine très bien qu'il y a un souci d'encoding, mais là je suis un peu perdu.

    La version de Java est 1.4.2_13.

    Merci d'avance pour votre aide.
    Images attachées Images attachées  

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

Discussions similaires

  1. N'arrive pas à afficher les comptes
    Par djolah13 dans le forum Langage
    Réponses: 16
    Dernier message: 30/06/2011, 10h39
  2. je n'arrive pas à afficher les valeurs de $_FILES[]
    Par totoAussi dans le forum Langage
    Réponses: 5
    Dernier message: 13/03/2009, 18h07
  3. Je n'arrive pas à afficher les numéro de ligne
    Par erehcab dans le forum Eclipse PHP
    Réponses: 1
    Dernier message: 01/10/2007, 11h59
  4. [TP] Je n'arrive pas à afficher les caractères [ { etc
    Par oliv314 dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 08/12/2006, 19h48

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