I installed J2SDK 1.4 in the windows with the locale "Chinese", and got the default locale, which is "Chinese". When I changed the OS locale to "Greece" and rebooted, "Greece" is returned with Locale.getLocale() in windows 2000. But "Chinese" is returned with Locale.getLocale() in windows XP.
I deduced that JVM must have got the wrong default locale from windows. Do you touch the part that JVM get system locale?