I had a similar problem with MySQL. I solved it by
appending some additional key-value pairs to the
database URL like this:
"jdbc:mysql:///mydb?characterEncoding=UTF-8..."
to let the DB driver no that I'm entering/extracting
UTF-8 values to/from the database. You may have to
specify similar arguments for Oracle. Also if you are
using HTML/JSP don't forget to set the charset:
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8">
In Swing some fonts have problems showing unicode
characters. You have to use an appropriate font for
displaying Farsi letters.