set the charset for binary, but not for UTF-8

Firefox will always add a UTF-8 charset, unless charset=binary. Therefore, we stop setting charsets other than binary.

has tests.