Thanks, the article was a good read. But my question was more on the lines of the parameters to set (if any) while using I/O streams in Java to read the file. Right now my focus is more on the reading, storing, retrieving correctly part.
Don't do that. Java understands Unicode. Your database understands Unicode. Your web application understands Unicode and so do the browsers that use it. So just use Unicode characters as is. Converting them to something else is going to be wasteful and error-prone. Converting them to Java source code Unicode escapes is especially so.
You are right, I was not very clear. I took a second look at my code and see that there is no issue with reading from the file. Something gets messed in the process of storing in database and retrieving it. I will look deeper.