Ich erhalte eine Ausnahme, begraben Art und Weise in einem 3rd-Party-Bibliothek, mit einer Nachricht wie folgt aus:Gibt es eine Möglichkeit Aliase für Charset Namen Java hinzufügen
java.io.UnsupportedEncodingException: BIG-5
Ich denke dies passiert, weil Java diesen Namen für nicht definiert. Charset.forName("big5")
ist in Ordnung, aber Charset.forName("big-5")
wirft die Ausnahme. (Alle diese Namen erscheinen Fall unempfindlich sein.)
Dies unterscheidet sich von „utf-8“, die einige Aliase hat toleranter zu sein. Zum Beispiel können sowohl Charset.forName("utf8"
) und Charset.forName("utf-8")
funktionieren.
Frage: Gibt es einen Weg, um den Alias, so dass „big5“ Karten „big5“ hinzufügen?
Ist die Drittanbieter-Bibliothek Java Mail durch Zufall? – dnault
Machen Sie eine Konstante irgendwo mit 'private static final Charset BIG5_CHARSET = Charset.forName ("big5")'? Du hast kein Problem mehr. Oder sagst du, dass das ein Code ist, den du nicht kontrollierst? – Tunaki
Woher kommen die Zeichensatznamen? Können Sie sie abfangen und kanonisieren? – dnault