Я получаю исключение, похороненный путь внутри 3-сторонней библиотеки, с сообщением вроде этого:Есть ли способ, чтобы добавить псевдонимы для имен Charset Явы
java.io.UnsupportedEncodingException: BIG-5
Я думаю, что это происходит потому, что Java не определяет это имя для java.nio.charset.Charset
. Charset.forName("big5")
в порядке, но Charset.forName("big-5")
выбрасывает исключение. (Все эти имена выглядят нечувствительными к регистру.)
Это отличается от «utf-8», в котором некоторые псевдонимы являются более прощающими. Например, как Charset.forName("utf8"
), так и Charset.forName("utf-8")
работают нормально.
Вопрос: есть ли способ добавить псевдоним, чтобы «большой-5» отображался на «big5»?
является библиотекой третьей стороной JavaMail случайно? – dnault
Сделать константу где-нибудь с 'private static final Charset BIG5_CHARSET = Charset.forName (" big5 ")'? У вас больше нет проблем. Или вы говорите, что это внутри кода, который вы не контролируете? – Tunaki
Откуда берутся названия набора символов? Можете ли вы перехватить и канонизировать их? – dnault