1) Blame the console. It's notorious for being bad at displaying characters that aren't in the default ASCII set; see
http://www.asciitable.com. You can use JOptionPane.showMessageDialog to display your strings; it has less limitations on what it can display.
2) Blame ResourceBundle. It's using the system default encoding by default. Check
this thread for how to create a ResourceBundle.Control sub class that allows you to specify the encoding.