Précédent   Forum des professionnels en informatique > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/12/2010, 17h09   #1
Invité de passage
 
Christ
Inscription : décembre 2010
Messages : 4
Détails du profil
Informations personnelles :
Nom : Christ

Informations forums :
Inscription : décembre 2010
Messages : 4
Points : 0
Points : 0
Par défaut Encodage des caractères SGBD MySQL

Bonjour à tous, je suis débutant en programmation et BDD mais je me suis très vite retrouvé confronté à un problème de taille... l'encodage de mes caractères accentués.

J'ai pour objectif de permettre aux utilisateurs de mon site internet de taper des lettres telles que "é à è ..." mais mes formulaires me renvoient des caractères spéciaux et assez bizarres... j'ai pensé que c'était ma base de données MySQl qui n'était pas en utf8 mais c'est le cas, tout comme le site...
j'ai ensuite fait en sorte de copier les valeurs renvoyées par la base de données dans le but de remplacé les lettres accentuées par les expression renvoyé, mais à la fin, toujours pas d'accent!

De plus, je ne sais pas si ce détail aura son importance mais le formulaire sera utilisé pour remplir une trame que les utilisateurs du site pourront télécharger en PDF.Mais ma base de donnée me renvoie des caractères bizarres quand je fais la requête pour afficher le commentaire dans la console et si je fait un getText() à partir du logiciel Java lié au site et à cette même base , je retrouve bien mes lettres accentuées.

Bien entendu, j'ai déjà regardé la documentation de MySQL à propos des charsets et des collations mais à ce jour aucune des méthodes que j'ai utilisé n'a porté ses fruits.

alors maintenant je bloque totalement. Quelqu'un peut il me venir en aide svp
SckOss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 17h13   #2
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 450
Points : 6 450
Bonjour,

Commence par jeter un œil du côté de ce tutoriel : http://antoun.developpez.com/mysql5/jeux-collations/

Tu devrais pouvoir y trouver une solution.
Sinon, précise un peu, par quelques exemples, ce qui pose problème.

ced
__________________
Rédacteur / Modérateur SGBD
Mes tutoriels et la FAQ MySQL

----------------------------------------------------
Pensez aux balises code et au tag
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
ced est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 17h31   #3
Invité de passage
 
Christ
Inscription : décembre 2010
Messages : 4
Détails du profil
Informations personnelles :
Nom : Christ

Informations forums :
Inscription : décembre 2010
Messages : 4
Points : 0
Points : 0
J'ai déjà lu et relu ce tuto malheureusement ... et ça ne ma rien donné de bon...

alors mon utilisateur va m'envoyer une demande d'intervention avec commentaire via le site, et ce dernier lui renvoi un pdf dans lequel les détails de l'intervention qu'il a demandé sont répertoriés.

Dans ses détails, il y a le commentaire mais celui-ci ne veut plus rien dire quand il y a des accents

Code :
1
2
3
reçoit={"à", "â", "ä", "é", "è", "ê", "ë", "î", "ï" ,"ô" ,"ö" ,"ù", "û", "ü", "ç" };
 
renvoie= {"Ä", "Ä¢", "Ĥ", "Ä©", "Ĩ", "Ī", "Ä«", "Ä®", "į", "Ä´", "Ķ", "Ĺ", "Ä»", "ļ", "ħ"};


oui je sais il y des lettres assez rarement utlisées!
SckOss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 22h40   #4
Candidat au titre de Membre du Club
 
Inscription : octobre 2010
Messages : 31
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 31
Points : 12
Points : 12
Bonsoir,
C'est un problème d'encodage des caractères sur le pdf.

Il faudra remplacer les caractères spéciaux en caractères HTML, exemple :
é devient é

Une solution, sera de créer une méthode ( ou de retrouver une existante) qui permet de remplacer tous les caractères spéciaux par leur encodage en gardant le code HTML ( dans le cas ou tu génères ton pdf à l'aide du html)..
tiens nous au courant.
Bonne soirée
sgdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2010, 15h27   #5
Invité de passage
 
Christ
Inscription : décembre 2010
Messages : 4
Détails du profil
Informations personnelles :
Nom : Christ

Informations forums :
Inscription : décembre 2010
Messages : 4
Points : 0
Points : 0
Excusez moi pour l'absence de réponse durant la semaine mais j'ai eu quelques soucis avec ma connexion internet

Donc j'ai créé la méthode qui va me remplacer les caractères spéciaux par leur code HTML mais ca ne me donne pas ce que je souhaite avoir
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
 
public String translateToDB(String src){
        StringBuffer result = new StringBuffer();
        IF(src!=NULL && src.length()!=0){
            int INDEX = -1;
            char c = (char)0;
            String chars= ">œ¨¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜàáâãäåæçèéêëìíîïñòóôõöùúûüÿ";//Caractère spéciaux
            String[] REPLACE={ ">","œ","¨","¿","À","Á","Â","Ã","Ä","Å","&Aelig","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ñ","Ò","Ó","Ô","Õ","Ö","Ù","Ú","Û","Ü","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ñ","ò","ó","ô","õ","ö","ù","ú","û","ü","ÿ"};//Code HTML correspondant
            FOR(int i=0; i<src.length(); i++){
                c = src.charAt(i);
                IF( (INDEX=chars.indexOf(c))!=-1 )
                    result.append(REPLACE[INDEX]);
                else
                    result.append(c);
            }
        }
        RETURN result.toString();
    }
Ainsi,

Code :
1
2
3
4
5
6
 
Je lui envoi : 
>œ¨¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜàáâãäåæçèéêëìíîïñòóôõöùúûüÿ
 
Je récupère :
>Å?¨¿Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã?Ã*áâãäåæçèéêëìÃ*îïñòóôõöùúûüÿ
Que ce soit dans un JTextArea que dans une JTable je récupère toujours ces caractère là...
SckOss est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h34.


 
 
 
 
Partenaires

Hébergement Web