file.encoding
Korzystam z programu Java w systemie Mac OS X 10.8 (z terminala), a domyślną maszyną wirtualną Java jest „SJIS”. Próbowałem nawet małego programu Java, który nie robi nic poza drukowaniem właściwości systemu, i pokazuje, że sama Java VM domyślnie używa SJIS. (I spójrzmy prawdzie w oczy, nikt nie lubi SJIS!)
Mój terminal jest ustawiony na UTF-8. Moje $ LANG nie jest ustawione, a $ LC_CTYPE to „UTF-8”. Żadna zmienna środowiskowa ani ustawienie terminala nie zawiera „JIS”, AFAICT.
Skąd bierze file.encoding
wartość w Javie w Mac OS X ? Czy istnieje ustawienie systemowe, które mogę zmienić, aby korzystało z UTF-8? Nie chcę określać tej aplikacji i biblioteki, ponieważ jest to gdzieś pomiędzy „niezręcznym” a „niemożliwym”, w zależności od programu.
Przypuszczam, że nie mam nic przeciwko ustawieniu zmiennej środowiskowej, ale nie mogę znaleźć żadnych standardowych zmiennych (takich jak $ LANG), które wpływają na Javę.