Who says it is a Java problem? Character encoding problems can happen anywhere, most notably in the part that displays it. If you are using a font that doesn't support the glyphs, you won't get the output that you need for example. So it might even be the configuration of whatever tool you're using to see the data.
Remember: there is a huge difference between data and the displaying of that data.