#!/usr/bin/perl use strict; use warnings; use LWP::Debug qw(+); use WWW::Mechanize; binmode STDOUT, ':encoding(iso-8859-1)'; my $mech = WWW::Mechanize->new; $mech->agent_alias( 'Windows IE 6' ); $mech->add_header('Accept-Charset' => 'iso-8859-1'); $mech->get('http://localhost/'); $mech->submit(); my ($status) = $mech->find_all_inputs( name => 'status', type => 'option'); if (ref $status && ref $status->{menu} eq 'ARRAY') { for my $option (@{$status->{menu}}) { $mech->form_name( 'form' ); $mech->select( 'status', $option->{value}); # Here's the problem is send some utf8 string instead iso-8859-1 sleep(2); $mech->click('send'); if ($mech->success()) { print $mech->content(); # the response is in utf8 too } $mech->back(); } }