Dominic Mitchell <[EMAIL PROTECTED]> writes:I'm trying to upload a file to a server, but it's failing because the content-length is incorrect. This is because the content is UTF-8 and length() is reporting characters, not bytes.
You are not supposed to provide content with chars outside the 0..255 range.
Bother. Is that documented anywhere?
Attached is a small test to demonstrate this.
I would imagine that somewhere in the bowels of HTTP::Request, bytes::length() needs to be used instead of the default CORE::length(), which reports characters. Or maybe call decode('utf8', $content). But that would involve knowing more about the character sets in use...
Assuming you mean encode here.
Yep.
> This would be wrong. I don't think
LWP should assume any charset for you or expose perl's internal representation. Just call encode() on the content you pass to LWP yourself.
Ok. Thanks for the answer.
-Dom
