Since char is (often) unsigned the ch < 0x20 check matched all multi-byte encoded UTF-8 chars.
Refs #392