1. javac is an implementation, not a specification.
2. As noted in the very quote provided, said particular implementation accepts various encodings; naturally, as the language allows various encodings.
That is quite unlike the languages that specify that anything other than UTF-8 is invalid code.