in reply to TreeBuilder and encoding
..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(); }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: TreeBuilder and encoding
by VineMob (Initiate) on Jul 15, 2013 at 13:59 UTC | |
by Khen1950fx (Canon) on Jul 15, 2013 at 23:08 UTC |