Yes.
The bytes stored in the database are converted to Unicode characters in the String.
You convert the String chars to whatever bytes you specified (or the system defaulted) as the character encoding.
Database bytes -> String chars -> Your bytes
DB encoding Your encoding
If something is messed up in the database or the JDBC that isn't decoding the bytes in the database correctly, the String will be wrong. For example, if the bytes are some UTF-8 Encoding of Czech and it decodes them using some Western encoding or Windows standard encoding, the String will be wrong. You will see that, if you print the string, as the accented characters looking like fractions or funny character combinations.
But whatever gets into the String will be encoded according to your specified charset.