I suspect we will need other translations here. Lets instead set up a map that we can easily add other entries into:

  private static final Map<String, Charset> encodingAliases;

  static {
    encodingAliases = new HashMap<String, String>();
    encodingAliases.put("latin-1", Charset.forName("ISO-8859-1"));
  }

  String decoded = decode(...);
  try {
    return Charset.forName(decoded);
  } catch (IllegalCharsetNameException badName) {
    Charset aliased = encodingAliases.get(StringUtils.toLowerCase(decoded));
    if (aliased != null)
      return aliased;
    throw badName;
  } catch (UnsupportedCharsetException badName) {
    Charset aliased = encodingAliases.get(StringUtils.toLowerCase(decoded));
    if (aliased != null)
      return aliased;
    throw badName;
  }