Wrong encoding of google cloud translate and Java
Even though you already found a solution to your problem, I do have another fix for your problem which does not require the use of an additional library.
The translate method returns a html encoded String by default as previously mentioned. But it can return a plain text String if the matching TranslateOption is given in the method call.
The method call will then look something like this.
Translation translation = translate.translate(
text,
Translate.TranslateOption.sourceLanguage(from),
Translate.TranslateOption.targetLanguage(to),
Translate.TranslateOption.format("text")
);