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 :

Java et Mysql : Unsupported character encoding


Sujet :

JDBC Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Java et Mysql : Unsupported character encoding
    Bonjour à tous,

    Je tente actuellement de développer un serveur en java, utilisant une base de données MySQL. Je développe sous linux (Debian).

    Voici mon code pour tester ma connexion :

    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
    import java.sql.*;
    public class Test
    {
    	public static void main(String[] args)
    	{
     
                    System.out.println("Chargement des drivers...");
                    //String nomDriver = "org.gjt.mm.mysql.Driver";
                    String nomDriver = "com.mysql.jdbc.Driver";
                    try
                    {
                        Class.forName(nomDriver);
                    }
                    catch(ClassNotFoundException cnfe)
                    {
                        System.out.println("La classe "+nomDriver+" n'a pas été trouvée");
                        cnfe.printStackTrace();
                    }
     
                    System.out.println("Connexion à la base de donnée...");
     
                    try {
                        String myString = "jdbc:mysql://localhost/ma_base?&useUnicode=true&characterEncoding=UTF-8&user=user&password=password";
     
     
                        Connection con = DriverManager.getConnection(myString);
     
     
                        System.out.println("Execution d'une requète...");
     
                    try
                    {
                       String queryString = "SELECT * FROM TABLE ";
                       Statement stmt = con.createStatement() ;
                       ResultSet rs = stmt.executeQuery( queryString ) ;
                    }
                    catch (SQLException e)
                    {
                        System.out.println("Erreur pour la requete : " +e.getMessage());
                    }
     
     
                  } catch (SQLException ex) {
                      // handle any errors
                      System.out.println("SQLException: " + ex.getMessage());
                      System.out.println("SQLState: " + ex.getSQLState());
                      System.out.println("VendorError: " + ex.getErrorCode());
                  }
    	}
    }
    et voici la sortie :
    $ java -cp . Test
    Chargement des drivers...
    Connexion à la base de donnée...
    SQLException: Unsupported character encoding 'Cp1252'.
    SQLState: S1009
    VendorError: 0

    Voici quelques infos (d'après phpmyadmin) qui pourraient éventuellement vous êtres utiles pour m'aider :
    Version du serveur: 5.0.30-Debian_1-log
    Version du client MySQL: 4.1.15

    voici les paquets installés :
    • libmysqlclient15off
    • mysql-client
    • mysql-client-5.0
    • mysql-common
    • mysql-server-5.0


    Une chose étrange, sur un autre ordinateur de chez moi, le même programme (toujours sous linux : ubuntu cette fois) fonctionne.
    Voici les caractèristiques (d'après phpmyadmin) qui diffèrent avec l'autre configuration :
    Version du serveur: 5.0.24a-Debian_9-log
    Version du client MySQL: 5.0.24a

    Dans les deux cas, j'utilise mysql-connector/j version 3.1.14 (j'ai tenté avec la version 5, ça ne fonctionne pas non plus).

    J'ai cherché, j'ai trituré mes configurations, désinstallé/réinstallé mysql client et server, sans succès !

    Merci d'avance de m'apporter vos lumières sur mon problème,
    je suis à votre disposition pour fournir plus de détails.

    Cordialement,

    CocoduNombriL

  2. #2
    Membre émérite
    Avatar de Ioan
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 737
    Points : 2 999
    Points
    2 999
    Par défaut
    Bonjour,
    Je n'ai pas de solution pour ton problème, plutôt quelques questions pour essayer d'y voir plus clair

    1 - Pourquoi avoir forcé les encodage dans les paramètres de la connection ?
    2 - Que se passe-t-il si tu ne les change pas (pas de useUnicode, pas de characterEncoding) ?
    3 - Que se passe-t-il si tu utilises seulement useUnicode=true ?
    4 - Que se passe-t-il si tu utilises useUnicode=true&characterEncoding=Cp1252 ?
    5 - Quel est l'encodage de ta base, au fait ?
    6 - Au niveau des encodage quelles sont les différences entre les différentes machines avec lesquelles tu as testé ?

    @+

Discussions similaires

  1. java et MySQL
    Par sricard dans le forum Hibernate
    Réponses: 2
    Dernier message: 07/08/2006, 11h41
  2. Générer des données en C ou java pour MySQL?
    Par stef06 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 11/07/2006, 22h41
  3. Connexion java avec mysql
    Par hlimaiem dans le forum Installation
    Réponses: 2
    Dernier message: 15/06/2006, 17h37
  4. [Java Beans XMLEncoder] Impossible d'encoder un objet...
    Par petitpepito dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 27/02/2006, 16h19
  5. [debutant] Java et MySQL
    Par micknic dans le forum JDBC
    Réponses: 6
    Dernier message: 16/04/2005, 14h29

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