Error message should be able to be encoded in latin1

Some fields of broken request may not be able to be encoded in latin1, which would cause a 400 response to be an empty one(Which nginx will see as a 500). So when compiling error messages, use `repr` to ensure that messages are latin1 compatible.