I got problems while reading arabic characters from oracle in java using JDBC driver, the main problem was i couldn\'t find the proper character encoding to get the correct data
Check your oracle version. if it old it can't support UTF16.
here is an article -- hope it will be useful.
http://docs.oracle.com/cd/B19306_01/server.102/b14225/ch6unicode.htm