Java convertion ISO -> UTF lors d'un parse
Fleming57
Messages postés
2
Statut
Membre
-
Fleming57 Messages postés 2 Statut Membre -
Fleming57 Messages postés 2 Statut Membre -
Bonjour à tous,
je dois réalisé un prototype, pour la Bibliothèque Nationale de France, d'un convertisseur. Ce dernier doit convertir les livres numérisés de la BNF (XML à la norme ALTO) en Epub (format choisit pour l'Ipad).
Pour cela, j'utilise SAX pour parser mon fichier XML, et récolter les informations nécessaires, que je transforme en XHTML (composante de l'Epub). Jusque là, tout va bien. Lors des tests, c'est l'horreur. Aucun accent, aucun caractère spécial ne passe. Cela vient du fait que les fichiers XML sont en ISO-8859-1, et que moi je fais mon fichier XHTML en UTF-8. On m'impose cela, donc je dois trouver un moyen de convertir.
Je voudrais apporter à mon programme d'origine des modifictations assez minimim pour pas que je m'y perde, avec les solutions que j'ai trouvé, mais j'ai vraiment du mal...
Voici mon code d'origine :
Et voici une des solutions que j'ai trouvé, mais que je n'arrive pas à incorporer :
Help me please =)
je dois réalisé un prototype, pour la Bibliothèque Nationale de France, d'un convertisseur. Ce dernier doit convertir les livres numérisés de la BNF (XML à la norme ALTO) en Epub (format choisit pour l'Ipad).
Pour cela, j'utilise SAX pour parser mon fichier XML, et récolter les informations nécessaires, que je transforme en XHTML (composante de l'Epub). Jusque là, tout va bien. Lors des tests, c'est l'horreur. Aucun accent, aucun caractère spécial ne passe. Cela vient du fait que les fichiers XML sont en ISO-8859-1, et que moi je fais mon fichier XHTML en UTF-8. On m'impose cela, donc je dois trouver un moyen de convertir.
Je voudrais apporter à mon programme d'origine des modifictations assez minimim pour pas que je m'y perde, avec les solutions que j'ai trouvé, mais j'ai vraiment du mal...
Voici mon code d'origine :
FileInputStream fis = new FileInputStream(altoFile);
BufferedInputStream bufferedStream = new BufferedInputStream(fis, 10 * 1024);
InputStreamReader is;
if (useGzippedStream){
is = new GZIPInputStream(bufferedStream);
}else{
is = bufferedStream;
}
try {
if (_typeDoc == "TDM")
{
TeiParserTDM parser = new TeiParserTDM(is);
parser.parse();
Etc...
Et voici une des solutions que j'ai trouvé, mais que je n'arrive pas à incorporer :
class LireEcrireTexte {
public static void main(String[] argv) throws IOException {
File lecteur;
File ecrivain;
lecteur = new File(argv[0]); // tu rentres ici ton script vb
ecrivain = new File("fichierUnicode.txt");
int c;
InputStreamReader ist = new InputStreamReader(new FileInputStream(lecteur) , "ISO-8859-1");
OutputStreamWriter ost = new OutputStreamWriter(new FileOutputStream(ecrivain) , "UTF-8");
while((c = ist.read()) != -1)
ost.write(c);
}
}
Help me please =)
A voir également:
- Java convertion ISO -> UTF lors d'un parse
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Power iso 32 bit - Télécharger - Gravure
- Fichier iso - Guide
- Waptrick java voiture - Télécharger - Jeux vidéo