Я запускаю программу на Java в Mac OS X 10.8 (из терминала), и file.encoding
на виртуальной машине Java по умолчанию имеет значение "SJIS". Я даже попробовал крошечную Java-программу, которая ничего не делает, кроме распечатки системных свойств, и это показывает, что сама Java VM по умолчанию использует SJIS. (И давайте посмотрим правде в глаза, никто не любит SJIS!)
Мой терминал настроен на UTF-8. Мой $ LANG не установлен, а $ LC_CTYPE - "UTF-8". Никакая переменная окружения или настройка терминала нигде не содержат "JIS", AFAICT.
В Java на Mac OS X откуда он получает значение file.encoding
? Могу ли я изменить настройки системы, чтобы она использовала UTF-8? Я не хочу указывать это для каждого приложения и для библиотеки, потому что это где-то между "неудобным" и "невозможным", в зависимости от программы.
Я предполагаю, что я в порядке с установкой переменной среды для этого, но я не могу найти какие-либо стандартные переменные (например, $ LANG), которые влияют на Java.