Yes, here is it, this problem appear in a linux 64 and don't appear in windows server, i think becouse windows use iso-8859-1 as charset.
#/usr/bin/perl -wT use strict; use CGI qw(param); binmode STDOUT, ':encoding(iso-8859-1)'; print "Content-type: text/html; charset=iso-8859-1\n\n"; my $q = param('status') || 'nothing'; print <<HTML; <html> <body> <h1>You has selected $q</h1> <form name="form" action="http://localhost/"> <select name="status"> <option value="ACCIÓN">ACCIÓN</option> <option value="PINGÜINO">PINGÜINO</option> </select> <input type="submit" name="send" value="send"> </form> </body> </html> HTML
#!/usr/bin/perl use strict; use warnings; 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 => 'opti +on'); 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 probl +em 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(); } }
In reply to Re^2: WWW::Mechanize always use utf8
by Anonymous Monk
in thread WWW::Mechanize always use utf8
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |