..Ive tried explicitly setting STDOUT to utf-8 via binmode..
Actually, your STDOUT should have been set to use ":encoding(UTF-8)" instead of "utf-8". Why?
":utf8" just marks the data as UTF-8 without further checking, while ":encoding(UTF-8)" checks the data for actually being valid UTF-8
this works for me though:
use warnings; use strict; use utf8; use LWP::UserAgent; use HTML::TreeBuilder; my $url = 'http://buyingguide.winemag.com/catalog/peju-1998-reserve-cabernet-sau +vignon-napa-rutherford'; my $browser = LWP::UserAgent->new; my $re = $browser->get($url); if ( $re->is_success ) { my $tree = HTML::TreeBuilder->new; $tree->parse( $re->decoded_content ); $tree->eof(); binmode STDOUT, ":encoding(UTF-8)"; my $review_et = $tree->look_down( 'itemprop', 'reviewBody' ); my $str = $review_et->as_text; #print $str,$/; # this as works print $review_et->as_HTML; $tree->delete; } else { die $re->status_line(); }
In reply to Re: TreeBuilder and encoding
by 2teez
in thread TreeBuilder and encoding
by VineMob
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |