Bonjour,

J’ai le code suivant qui établit une connexion à une base de données mysql, et me génère des rapports au format PDF, le code fonctionne
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
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.lang.Object;
 
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import com.mysql.jdbc.Driver;
 
 
public class GeneratePDF {
	public static void main(String[] args) {
        // - Paramètres de connexion à la base de données
        String url = "jdbc:mysql://localhost/MyBase";
        String login = "reporter";
        String password = "*****";
        Connection connection = null;
        try {
            // - Connexion à la base
            Driver monDriver = new com.mysql.jdbc.Driver();
            DriverManager.registerDriver(monDriver);
            connection = DriverManager.getConnection(url, login, password);
            // - Chargement et compilation du rapport
            JasperDesign jasperDesign = JRXmlLoader.load("C:\\Program Files\\JasperSoft\\iReport-2.0.2\\ jrxml\\ Rapport.jrxml");
            JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
            // - Paramètres à envoyer au rapport
            Map parameters = new HashMap();
            parameters.put("Titre", "Titre");
	// Pour préfixer le nom du rapport de la date du jour
            			Date now = new Date(); //date du jour
			SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yy"); //formateur de Date
			String dateString = sdf.format(now); //obtention de la date en chaîne de caractère formatée
			String nomFichier = dateString +"-Compte-Rendu.pdf";
            // - Execution du rapport
            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, connection);
            // - Création du rapport au format PDF
            JasperExportManager.exportReportToPdfFile(jasperPrint, "C:\\Program Files\\JasperSoft\\iReport-2.0.2\\pdf\\"+nomFichier);
               }
 
 
 
catch (JRException e) {
	  e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                 connection.close();
                } catch (SQLException e) {
                       e.printStackTrace();
               }
        }
    }
}
Seul problème mes données sont en latin1, et donc lors de l’affichage de mes rapports j’ai des trucs du genre matériel à la place de matériel. Je voulais savoir si c’était possible au niveau du code java (peut être juste après la connexion à la base??) de convertir les données pour que les caractères s’affichent correctement dans mes rapports PDF.

Merci d’avance pour votre aide