För det första är det bra om Javakompilatorn får veta att källkodsfilen är i UTF-8, om du kompilerar från terminalen skriver du:
javac -encoding UTF-8 Test.java
..men det har nog inte så stor betydelse för ditt program här, men om du hårdkodar strängar tex
String s = "Överståthållarämbetet";
är det viktigt.
För det andra måste ditt program skicka UTF-8 via System.out
Ett sätt är att istället för
System.out.println(str);
skriva
try
{
System.out.println(new String(str.getBytes("UTF-8")));
}
catch (UnsupportedEncodingException ex)
{
throw new RuntimeException("Otroligt nog stödjer inte din JVM UTF-8");
}
och till detta behövs
import java.io.UnsupportedEncodingException;