http://qs1969.pair.com?node_id=312547


in reply to Re: Re: Encode - can't set utf8 flag on + strange warnings in Apache log
in thread Encode - can't set utf8 flag on + strange warnings in Apache log

Yes, but when i use encode_utf8() to convert already known value from string to octets before comparing with newly posted value I can't see any difference berween values.

my $par1 = $posted_value; # not marked as utf8 yet my $par2 = $already_known_value; # marked as utf8 my $res = 0;

When params are converted to octets and then compared result is - equal.

# code1 - compare octets $par1 = Encode::encode_utf8($par1) if Encode::is_utf8($par1); $par2 = Encode::encode_utf8($par2) if Encode::is_utf8($par2); $res = ($par1 eq $par2) ? 1 : 0; # $res now contain 1 - $par1 and $par2 are equal

But when try convert to string and compare after, then result is - not equal because posted value is still not mared as utf8. I allready use the same form with the same data for posting.

# code2 - compare strings $par1 = Encode::decode_utf8($par1) if !Encode::is_utf8($par1); $par2 = Encode::decode_utf8($par2) if !Encode::is_utf8($par2); $res = ($par1 eq $par2) ? 1 : 0; # $res now contain 0 - $par1 and $par2 are not equal