>Solution - your conversion of external data should be
>
> my $string = decode($encoding, $binary);
> utf8::upgrade($string);
>
>This should be platform independent and work - always. Perl's string
>functions should all work OK on $string.
So you are saying that if I change
$var = decode("utf8",$row->{ATT_BOOKING_COMMENT_TXT}) ;
to
$var = decode("utf8",$row->{ATT_BOOKING_COMMENT_TXT}) ;
utf8::upgrade($var );
it will be more resilient and cater for more cases than just the decode
option.
And you also agree that I need to do this to use the Perl string functions?
Regarding:
> 'use utf8;' Is not needed anywhere here of course as it indicates that
> the source code is encoded in UTF-8. Nothing more. Functions
> utf8::upgrade etc. are always available.
Normally I use translate, so I don't need to 'use utf8;', but data
structures are language dependent, eg address, it's not just zip-code versus
post-code, but also the sequence of fields, sometimes the street number goes
first, sometimes last, sometimes you validate 'state' sometimes not. And in
these cases I started using imported XRC, but actually it was easier to just
code it by language, hence, 'use utf8;'
Thanks Mark,
Regards
Steve