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

JDBC Java Discussion :

MySql, java, String, probleme d'accent.


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Par défaut MySql, java, String, probleme d'accent.
    Bonjour a tous,

    tout est dans le titre, j'utilise mysql, avec java enfin dans une servlet pour etre precis mais meme dans une classe tout court ca ne fonctionne pas ...
    j'utilise mysql connector 5.0.5 ...

    Tout mes accents sont remplacé par des caractère sans aucun sens ...

    le "é" devient "," le "a" devient "..."

    je vosu joint un exemple de code et son resultat

    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
     
    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";
                c =   DriverManager.getConnection(url, "root", "sangoku");
                //DriverManager.getConnection("jdbc:mysql://127.0.0.1/projet"+"?useUnicode=true&characterEncoding=cp1250", "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() ) {
                    System.out.println(rs.getString("texte"));
                }
     
            } catch (SQLException ex) {
     
            }
     
        }
     
        public static void main(String [] args) throws UnsupportedEncodingException{
            Essai e = new Essai() ;
            e.get();
        }
     
     
     
     
     
     
    }

    et le resultat que je vous laisse admirer ...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    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, s
    Sympathique n'est ce pas ?

    j'ai passer l'apres midi a chercher sur les forum, je ne trouve rien ...
    s'il vous plaie si vosu avez des idées elle seront les bienvenues ...

    merci d'avance

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Problème évident de charset...

    Quel est le charset utilisé par ta base mysql (UTF-8, ISO-8859-1...?)

    Une fois que tu l'as il suffit d'indiquer dans ta JSP (à son début) l'encodage fixé pour la page:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
    Si le charset de ta base est UTF-8

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

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

    je l'ai mis en UTF-8 mais la pour le moment le probleme ne semble pas venir de mes page jsp, puisque regarde dans l'exemple je fais juste un System.out.pritln() d'une valeur de la table

    je susi un peu perdu, tu pourrais m'expliquer ?

    merci de ta reponse.

  4. #4
    Membre expérimenté Avatar de Roy Miro
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 273
    Par défaut
    Bonjour,

    ajoute ça dans ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    s.executeQuery("SET NAMES cp850 ");
    comme toute première instruction.

    Normalement les lettres accentuées devraient bien s'afficher.

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 201
    Par défaut
    a vrai dire maintenant j'ai des point d'interrogation partout à la place de mes accents ...

    c'est bizarre bizarre ....

    merci de vos reponses

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

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Ce qu'il faut savoir c'est :
    - Quel est l'encoding de ta base ?
    - Quel est l'encoding de la sortie que tu utilises (console, jsp etc ...)

    Après il faut que ce soit cohérent, et qu'il n'y ait pas de conversion "implicite" ....

Discussions similaires

  1. probleme d'accents Mysql-Java
    Par pigpen dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 21/05/2007, 17h36
  2. Réponses: 14
    Dernier message: 08/08/2006, 11h31
  3. [Accent et MySQL 5] Probleme d'accent
    Par spk4ever dans le forum Installation
    Réponses: 7
    Dernier message: 09/03/2006, 12h22
  4. [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
  5. probleme d'accents
    Par otb82 dans le forum Requêtes
    Réponses: 5
    Dernier message: 23/10/2003, 12h03

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