I would suggest even shorter labels:
public init?(iana: String)
public init?(whatwg: String)
There’s no reason here to repeat “encoding” (or “charset” in IANA parlance, which at worst could be confused with CharacterSet) given the type being initialized, and it’s not plausible for the sole string argument to be anything but the name of the encoding.