OVH Cloud OVH Cloud

Accents issus d'une BDD soudainement remplacés par des "?" !!

2 réponses
Avatar
loop
Bonjour,

depuis des mois mon appli JAVA tounre sans souci, je récupère des textes en
BDD mysql via jdbc, et les accents s affichaient bien.
Mais depuis aujourd hui, sans qu aucune modif n'ai étée faite sur le
serveur, tous les caractères accentués entre autre sont remplacés par des
"?" dans mes pages HTML !!!!!

j'utilise Jakarta et mes pages sont en jsp, tout ça tourne sur un serveur
Linux

Le characterset de ma base mysql est bien en latin-1, et quands je fais une
requête sur la console, les accents sont OK.


Que peut il bien se passer ???

merci de votre aide!

2 réponses

Avatar
Nicolas Pontoizeau
depuis des mois mon appli JAVA tounre sans souci, je récupère des textes en
BDD mysql via jdbc, et les accents s affichaient bien.
Mais depuis aujourd hui, sans qu aucune modif n'ai étée faite sur le
serveur, tous les caractères accentués entre autre sont remplacés par des
"?" dans mes pages HTML !!!!!


D'où l'intéret des entités en HTML. Ne stocke plus tes pages dans ton
encodage à toi mais en pur html. Pour moi ça vient de ton navigateur le
problème.

j'utilise Jakarta et mes pages sont en jsp, tout ça tourne sur un serveur
Linux

Le characterset de ma base mysql est bien en latin-1, et quands je fais une
requête sur la console, les accents sont OK.


Essaye de passer en utf-8 quand tu pourras.

Que peut il bien se passer ???


c'est un problème d'encodage. Ce qui t'a permis de saisir le caractère
n'est pas dans le même encodage que ce qui te permet de lire le
caractère.

Il y a recode pour ton type de problème sous linux.

--
http://www.nicolas.pontoizeau.org/
Nicolas Pontoizeau - Promo 2005

Avatar
Nicolas George
Nicolas Pontoizeau wrote in message
<slrncuqm7k.qm9.pontoize*NOSPAM*@choam.unix.efrei.fr>:
D'où l'intéret des entités en HTML. Ne stocke plus tes pages dans ton
encodage à toi mais en pur html.


C'est une mauvaise idée. En particulier, ça signifie que si la même base de
données doit servir pour un autre chose que du HTML (du NNTP, du PostScript,
n'importe quoi), il faudra décoder les entités. La méthode la plus propre
est au contraire de stocker dans la base de données du texte en Unicode, et
l'encoder en HTML uniquement au moment où on sait effectivement qu'on veut
produire du HTML.

Après, je ne connais ni mysql ni jdbc, donc je ne peux pas indiquer comment
faire ça dans ce cas précis.