Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
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 08/03/2007, 12h41   #1
Futur Membre du Club
 
Étudiant
Inscription : septembre 2005
Messages : 40
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2005
Messages : 40
Points : 18
Points : 18
Envoyer un message via MSN à adrien.nicolet Envoyer un message via Skype™ à adrien.nicolet
Par défaut [java]Encodage fichier XML avec XMLType

Bonjour à tous,

Dans une servlet, je récupère des données d'une base de donnée Oracle et crée un fichier XML.
Voici ma façon de faire:
Code :
1
2
3
4
5
6
7
8
9
ResultSet rset = stmt.executeQuery();
OracleResultSet orset = (OracleResultSet) rset;
String xmlstr = "";
XMLType poxml;
while (!orset.isAfterLast() && orset.next()) {
poxml = XMLType.createXML(orset.getOPAQUE(1));
xmlstr += "\n" + poxml.getStringVal();
}
output.WRITE(xmlstr.getBytes());
Je reçois bien mon fichier XML qui s'affiche dans le navigateur. Le problème c'est que tous les caractères spéciaux sont remplacés par "?".

Voici un extrait pour exemple:
Code :
1
2
3
4
5
6
 
<description>
<para>
L'?cole inter-Etats d'ing?nieurs de l'?quipement...
</para>
</description>
L'encodage qui est généré automatiquement est le suivant:
<?xml version="1.0" encoding="ISO-8859-1"?>

Comment faire pour le changer, adapter?

Merci pour votre aide!

Adrien
adrien.nicolet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2007, 13h09   #2
Futur Membre du Club
 
Étudiant
Inscription : septembre 2005
Messages : 40
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : septembre 2005
Messages : 40
Points : 18
Points : 18
Envoyer un message via MSN à adrien.nicolet Envoyer un message via Skype™ à adrien.nicolet
Je viens de trouver par hasard la réponse,....

Il suffit de rajouter le charset lorsqu'on récupère les bytes:

Code :
output.WRITE(xmlstr.getBytes("iso-8859-1"));
adrien.nicolet est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h59.


 
 
 
 
Partenaires

Hébergement Web