LWP doesn't decode anything unless you use ->decoded_content. If you use ->content, you get the raw bytes returned by the web server. By using '>:encoding(iso-8859-5)', you are re-encoding chars that have already been encoded using windows-1251. That makes no sense. You need to undo the first encoding before encoding again.

use Encode qw( decode from_to ); # Outputs windows-1251 text open my $fh, '>', $qfn; print $fh $response->content; # Outputs iso-8859-5 text open my $fh, '>', $qfn; $content = $response->content; from_to($content, 'windows-1251', 'iso-8859-5'); print $fh $content; # Outputs iso-8859-5 text open my $fh, '>:encoding(iso-8859-5)', $qfn; print $fh decode('windows-1251', $response->content); # Outputs iso-8859-5 text, assuming # the content encoding is detected. open my $fh, '>:encoding(iso-8859-5)', $qfn; print $fh $response->decoded_content;

So,

my $file = $response->content;
should be one of
my $file = $response->decoded_content;
or
my $file = decode('windows-1251', $response->content);

(iso-8859-5 is the iso name for windows-1251)

No. They're quite different.
windows-1251
iso-8859-5


In reply to Re: Downloading webpages with non-ASCII characters by ikegami
in thread Downloading webpages with non-ASCII characters by CountZero

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.