s/([^0-9A-Za-z_ ])/'%'.unpack('H2',$1)/ge;
s/\s/+/g;