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 d'accents Mysql-Java


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Points : 75
    Points
    75
    Par défaut probleme d'accents Mysql-Java
    Bonjour a tous,

    Alors un sujet classique, les accents qui s'affiche pas dans mes page JSP ...

    J'utilise un serveur apache, une base de donnée MySQL

    je récupere des données depuis la base, dans ma base il y a bien les accents etc ... aucun probleme, coder en UTF-8

    je recupere les donnée dans mes servlets avec une tete comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class AiguillagePrincipal extends HttpServlet {
     
     
        private ConnexionBDD connexion ;
     
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
            request.setCharacterEncoding( "UTF-8" );
    ...


    et mes JSp on toutes la même tête :


    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
     
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
     
     
     
    <%--
    The taglib directive below imports the JSTL library. If you uncomment it,
    you must also add the JSTL library to the project. The Add Library... action
    on Libraries node in Projects view can be used to add the JSTL 1.1 library.
    --%>
    <%--
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
    --%>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
     
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     
        <jsp:useBean id="monContact" scope="request" class="mainPackage.ContactModel" />
     
        <% if(monContact.getId_contact() == -1){
            out.println("<title>Saisie d'un nouveau contact</title>");
        }else {
            out.println("<title>Modification d'un contact</title>");
        }
        %> 
     
     
    </head>
    <body>
     
    ....

    Mais le souci c'ets que tout ce que j'affiche qui sort de la base de donnée a pas d'accent, les "à" sont remplacer par "..." et plein d'autre caractere ...


    Ca donne ce genre de chose :
    L'organisateur s'engage … payer le producteur … l'issue de la repr‚sentation, ou en fin de mois pour les initiations de longue dur‚e, soit en espŠce, soit par chŠque bancaire ou postal, soit par virement bancaire … l'ordre du

    des idées ?

    merci d'avance.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    j'ai fais un code d'essai :

    voici le resultat ca ne marche pas non plus :


    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    import java.io.UnsupportedEncodingException;
    import java.nio.charset.CharsetDecoder;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import mainPackage.article.ArticleModel;
    /*
     * Essai.java
     *
     * Created on 26 mai 2007, 16:37
     *
     * To change this template, choose Tools | Template Manager
     * and open the template in the editor.
     */
     
    /**
     *
     * @author ACER
     */
    public class Essai {
        private String url;
        private Connection c;
        CharsetDecoder decodeur ;
        /** Creates a new instance of Essai */
        public Essai() {
     
            try{
                Class.forName("com.mysql.jdbc.Driver");
                String url = "jdbc:mysql://127.0.0.1/projet";
              //   DriverManager.getConnection(url, "root", "sangoku");
                c =DriverManager.getConnection("jdbc:mysql://127.0.0.1/projet"+"?requireSSL=false&useUnicode=true&characterEncoding=UTF-8", "root", "sangoku");
            }catch (Exception e) {
     
            }
     
        }
     
        public void get() throws UnsupportedEncodingException{
            ArticleModel m = null ;
            String myString = ""; 
            try {
     
                // On recupere le numero de ce client
                Statement s = c.createStatement();
                ResultSet rs = s.executeQuery("select * from article ");
     
     
                while ( rs.next() ) {
     
                    m = new ArticleModel() ;
                    m.setId_article(rs.getInt("id_article"));
                    m.setTitre(rs.getString("titre"));
                    m.setTexte(rs.getString("texte"));
                    m.setCommentaire(rs.getString("commentaire"));
     
     
                }
     
            } catch (SQLException ex) {
     
            }
            System.out.println(  m.getTexte());
        }
     
        public static void main(String [] args) throws UnsupportedEncodingException{
            Essai e = new Essai() ;
                e.get();
        }
     
     
     
     
     
     
    }


    le resultat :

    compile-single:
    run-main:
    Le prix des places de specatcle est fix‚ … la convenance de l'organisateur, qui garde seul la totalit de la recette
    BUILD SUCCESSFUL (total time: 1 second)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Points : 30
    Points
    30
    Par défaut Accents avec Tomcat
    Bonjour,

    si tu es sous tomcat il faut bien faire attention à ce que Tomcat soit démarré aprés Apache.

    Bon courage.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    comment puis-je savoir lequel demare en premier ?

    merci de ton attention

  5. #5
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(  m.getTexte());
    ne prouve pas forcément grand chose parce que ça dépend de l'encoding de ta sortie ... Tu es dans quel environnement ?
    Sinon le mieux à mon sens c'est décrire dans un fichier ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream("...chemin du fichier..."));
    Strint texte = m.getTexte();
    writer.write(texte,0,texte.length());
    writer.close();
    Et après tu regardes le fichier avec un éditeur qui sait lire l'UTF8 comme ultraedit

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    Bonjour,

    Je suis sous netbeans donc c'est al console netbeans , amis je ne sais pas comment en connaitre l'encoding en revanche

    je vais essayer des que j'ai le temsp d'ecrire dans un fichier

    merci de ton attention

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    Le probleme est le meme quand je fais la sortie dans un fichier texte ...
    je ne sais vraiment plus ou regarder ...

    vous avez des idées ?

    des manip de test ?

  8. #8
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Ta base est déclarée dans quel encoding par défaut ?
    Avec un MySQL browser en UTF8 tu vois bien les bons caractères ??

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    l'encoding de ma base c'est utf8 ...

    si mysql browser est la console mysql (?) non je ne vois aps les caractere carectement en UTF8


    merci de ta reponse et de ton attention

  10. #10
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    MySQL browser c'est l'outil de base mysql pour effectuer des requêtes en base etc ...
    Si avec tu ne vois pas correctement les caractères, c'est que à priori ils sont mal sauvés en base ... Tu es sûr qu'en base ils sont corrects ?

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Points : 75
    Points
    75
    Par défaut
    avec cet outil j'obtient des accents remplacer par d'autre caractere ....


    merci

Discussions similaires

  1. MySql, java, String, probleme d'accent.
    Par pigpen dans le forum JDBC
    Réponses: 26
    Dernier message: 26/05/2007, 14h01
  2. Probleme de lecture d'accents entre java et postgre
    Par shindara dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/02/2007, 10h48
  3. Réponses: 14
    Dernier message: 08/08/2006, 11h31
  4. [Accent et MySQL 5] Probleme d'accent
    Par spk4ever dans le forum Installation
    Réponses: 7
    Dernier message: 09/03/2006, 12h22
  5. [MySQL 4.1] probleme d'accents sur une requete SQL
    Par tatayoyo dans le forum Langage SQL
    Réponses: 4
    Dernier message: 10/11/2005, 16h06

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