Ich hatte vor langer Zeit mal gelesen, dass Java Quelldateien in Unicode abgefasst werden (können). Man hätte ja annehmen können, wenn das schon geht, nutzt man das auch konsequent und geht damit vielen Problemen mit nicht ASCII Zeichen aus dem Weg.
Das ist aber natürlich nicht so.
Zum Glück merkt man das nicht, solange man in Englisch kommentiert und seine Variablen auch so benennt.
Eines Tages kommt dann der erste Kommentar (oder vielleicht sogar String oder ein Variablenname) mit dem ersten nicht ASCII Zeichen.
Je nachdem, mit welchem Editor die Datei erstellt wird und auf welcher Umgebung man versucht das Projekt zu kompilieren, funktioniert es ab dann mal und mal nicht.
unmappable character for encoding ASCII
Dann sollte man sich auf ein Encoding einigen (viel Glück!), das in der IDE einstellen und im Buildmechanismus hinterlegen
javac -encoding UTF-8 Foo.java
javac -encoding Cp1252 Foo.java
In ant
<javac srcdir="src/" destdir="build/" encoding="iso-8859-1" />