... Hopefully I got this correct as it's a bit tricky. ... The patch above is matching with all charsets if one is given and trying to match a specific charset when none is given. Which doesn't make sense. Hopefully someone can chime in if I got anything wrong.