Je developpe une application Java qui doit insèrer des données mixtes (anglais , arab) dans une base de données.

les donnés sont lus 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);
Aussi j'ai implementé les variables qui vont être codé en arab comme suit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
//remark : variable en langue arabe
remark=new String (var_string_arab);
remark=new String (remark.getBytes("UTF-8"));
La variable remark va être concatener à une autre variable String ,Cette variable peut contenir des caractère anglais et arab.
aprèes elle sera inserer dans une colonne du type CLOB
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Global_var=remark+var;
//insertion dans la BD
les parmetre nls_parametre de la BD 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
21
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
Avec tous ces changement tous les donneés en arabes inseré sont tout simplement des point d'nterrogation. "???"

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

Merci d'avance