Bonjour,
j'ai un problème avec les caractères accentués avec mysql.
J'ai une application JSP qui tourne sur un serveur tomcat sur linux qui fait des accès à une base mysql.
J'ai essayé de regarder la FAQ et de regarder différents sujets traitant du même problème, mais je n'ai trouvé aucune solution à mon problème.
En fait, lorsque je me connecte à mon application, j'ai par exemple les caractères suivant qui apparaissent :
Bouches du Rhône (13)
Microsoft® Windows®
ou encore
Disque dur : 160Go à 7200 tr/mn
Je voudrais bien sur que l'affichage des accents se passe sans problème, mais je n'arrive pas à mettre le doigt sur l'option à modifier pour y arriver ...
POurriez vous me conseiller s'il vous plait ?
Nicolas
[EDIT] Si çà peut vous aider, quelques infos supplémentaires.
Toutes mes pages JSP commencent par :
et voici ce que me répond le serveur mysql au niveau de l'encodage :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?xml version="1.0" encoding="UTF-8"?> <jsp:root version="1.2" xmlns:ajaxTags="http://java.sun.com/blueprints/ajaxtextfield" xmlns:bp="http://java.sun.com/blueprints/ui/14" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:jsp="http://java.sun.com/JSP/Page" xmlns:ui="http://www.sun.com/web/ui"> <jsp:directive.page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"/>
et si je me positionne sur une base, voici ce qu'il me retourne :
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 mysql> \s -------------- /opt/mysql/bin/mysql Ver 14.12 Distrib 5.0.21, for pc-linux-gnu (i686) using readline 5.0 Connection id: 49 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.0.21-standard-log Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: utf8 Client characterset: latin1 Conn. characterset: latin1 UNIX socket: /tmp/mysql.sock Uptime: 2 hours 26 min 58 sec Threads: 1 Questions: 12608 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 40 Queries per second avg: 1.430 --------------
Et enfin, voilà ce que me donne un SHOW CREATE TABLE :
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 mysql> \s -------------- /opt/mysql/bin/mysql Ver 14.12 Distrib 5.0.21, for pc-linux-gnu (i686) using readline 5.0 Connection id: 50 Current database: emos_devel Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.0.21-standard-log Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 UNIX socket: /tmp/mysql.sock Uptime: 2 hours 32 min 58 sec Threads: 1 Questions: 12620 Slow queries: 0 Opens: 0 Flush tables: 1 Open tables: 40 Queries per second avg: 1.375 --------------
J'ai bien l'impression que c'est un pb de charset sur les colonnes, mais je sais pas quoi faire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 mysql> SHOW CREATE TABLE sector; +--------+---------------------+ | Table | Create Table +--------+---------------------+ | sector | CREATE TABLE `sector` ( `SEQ` int(11) NOT NULL auto_increment, `ID` varchar(50) character set latin1 NOT NULL default '', `DESCRIPTION1` varchar(250) character set latin1 default NULL, `DESCRIPTION2` varchar(250) character set latin1 default NULL, PRIMARY KEY (`SEQ`), UNIQUE KEY `ID` (`ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +--------+---------------------+ 1 row in set (0.01 sec)
Avez-vous des idées ?
Merci d'avance
Partager