Je développe une application Java qui tourne sur UNIX elle doit insérer des données mixtes (anglais, arabe) dans une base de données.

Les données sont lues depuis une fichier en entrée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
IN=new BufferedReader ( new InputStreamReader(new FileInputStream(file), Charset.forName("UTF-8")));
while ((ligne=IN.readLine())!= null)
		{	 
		    champs= ligne.split(";");
           //reste des traitements 
                 }
J'ai implementé mon DriverManager pour supporter le UTF-8 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Properties prop = new Properties();
	     prop.put("user", user);
	     prop.put("password", password);
	     prop.put("useUnicode", "yes");
	     prop.put("characterEncoding", "UTF-8");
             //path : url de la BD
	      con = DriverManager.getConnection(path, prop);
Les données seront inserées dans une colonne du type CLOB.
Les paramètres nls_parametre de la BDD sont ci-dessous :
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
PARAMETER    	                    VALUE
NLS_LANGUAGE	                    FRENCH
NLS_TERRITORY	                    FRANCE
NLS_CURRENCY	                     ?
NLS_ISO_CURRENCY	            FRANCE
NLS_NUMERIC_CHARACTERS	    , 
NLS_CALENDAR	                    GREGORIAN
NLS_DATE_FORMAT	            DD/MM/RR
NLS_DATE_LANGUAGE	            FRENCH
NLS_CHARACTERSET	            AR8ISO8859P6
NLS_SORT	FRENCH
NLS_TIME_FORMAT	             HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT	     DD/MM/RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT 	     HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT     DD/MM/RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY	              ?
NLS_NCHAR_CHARACTERSET	      UTF8
NLS_COMP	BINARY
NLS_LENGTH_SEMANTICS	      BYTE
NLS_NCHAR_CONV_EXCP	      FALSE
Tous les donneés en arabes inserées sont tout simplement des point d'nterrogation. "???"

Si je lance le programe java de ma machine windows xp l'insertion arabe est correcte, mais sur unix ça donne les "???"

Avez vous une idées pour m'aider à corriger ce problème, je galère depuis trois jours sans aucun résultat.

Merci d'avance.