You are using the getAsciiStream()
to read the contents of a CLOB. As the name says, this method is usable only for ASCII; it breaks all non-ASCII characters.
Use the getCharacterStream
method instead.
BufferedReader br = null;
StringBuilder result = new StringBuilder();
try {
br = new BufferedReader(clob.getCharacterStream());
....