treat pct-encoded strings as encoded utf-8 bytes; encode unicode as pct-encoded utf-8; when decoding pct-encoded, if not valid utf-8, leave undecoded