in reply to LWP: POST request

You have to exctract charset information from the Content-Type header, if any is present, and use Encode::decode to decode with that charset.

If there is no charset info in the header, you can still look in the HTML for a http-equiv meta tag, or guess the enccoding with Encode::Guess (that should be the last fallback solution since it's unreliable9.

And be sure to read perluniintro and perlunifaq.