Bonjour,

Une petite question que je me pose.

J'ai actuellement un programme qui lit un fichier en entrée. Ce fichier possède une certaine structure (header d'informations, puis de la donnée XML). Ce fichier est encodé en EBCDIC (Cp500).

Mon programme lit donc le fichier sous forme de byte array, converti l'EBCDIC en ASCII afin de pouvoir lire / traiter les informations du header (et aussi reconvertir la donnée XML au format d'origine, avant qu'elle ai été encodée en EBCDIC au même titre que le header de mon fichier)

Ensuite vient plusieurs traitement sur le header, et je fini par copier ma donnée XML dans un fichier en sortie (avec un header spécifiant que l'encodage du fichier est de l'UTF-8, même si ce n'est pas ce header en lui-même qui définit réellement l'encodage mais constitue plus une simple information)

La donnée XML est donc lue sous forme de byte array, puis gérée en interne en UTF-16 (sous forme de String après convertion EBCDIC->ASCII) par Java, puis écrite en sortie dans un fichier XML via un OutputStream et la méthode 'getBytes' sur ma String.

A priori, la donnée XML dans mon fichier de sortie devrait donc être la même que la donnée XML que j'ai en base. (si ce n'est pas le cas il faut m'en faire part ^^)

Ma question est la suivante, si je valide mon fichier XML de sortie par un parseur Java de type SAX, est ce que ce parseur sera capable d'émettre une erreur si la donnée n'est pas UTF-8 ?

Je pose cette question car j'aimerai - si c'est possible - dans mon process, certifier que la donnée en sortie est bien de l'UTF-8, mais je ne vois pas comme cela peut être possible... :s

En vous remerciant pour votre aide.