É o console que não está configurado para usar
UTF-8
para exibir eles. No caso do Eclipse, você pode configurar sua codificação em Window> Preferences> General> Workspace> Text File Encoding . Deve ser definido como UTF-8
. O
new OutputStreamWriter(System.out,"UTF-8");
apenas instrui o OutputStreamWriter
qual codificação usar para converter os caracteres escritos em bytes. Ele não instrui o System.out
console qual codificação usar para convertê-los de volta de bytes para caracteres para exibir eles.