my $content = ''; if($data->{'content'} && $data->{'charset'}){ if($data->{'charset'} eq 'utf-8'){ $data->{'content'} = decode("utf-8",$data->{'content'}); # make perl characters, Encode.pm $data->{'content'} = decode_entities($data->{'content'}); # add signs from HTML::Entities $content = encode("utf-8",$data->{'content'}); # make octets for disk-writing, Encode.pm }else{ my $length = from_to($data->{'content'}, find_encoding($data->{'charset'}), "utf-8"); if($length){ $data->{'content'} = decode("utf-8",$data->{'content'}); # make perl characters, Encode.pm $data->{'content'} = decode_entities($data->{'content'}); # add signs from HTML::Entities $content = encode("utf-8",$data->{'content'}); # make octets for disk-writing, Encode.pm }else{ _log_message("Charset $data->{'charset'} not supported", 1); } } } if(length($content)){ $p->parse($content); # HTML::Parser ( can('utf8_mode') && $p->utf8_mode(1) ) }