in reply to Re: Malformed UTF-8
in thread Malformed UTF-8

Thank you for your reply. This is perl -v :
This is perl, v5.8.6 built for darwin-thread-multi-2level (with 2 registered patches, see perl -V for more detail)
(let me know if you need a -V output) $term contains 'baņo'. This is the Dump for $term before the error:
SV = PVIV(0x18b8e20) at 0x1ab69c8 REFCNT = 1 FLAGS = (PADBUSY,PADMY,POK,pPOK) IV = 0 PV = 0x2dd2ef0 "ba\303\261o"\0 CUR = 5 LEN = 12
Actually, this is weird, I just realized, this error occurs when they match since both $token and $term are identical (or should be at least). Hm.

Replies are listed 'Best First'.
Re^3: Malformed UTF-8
by Joost (Canon) on May 15, 2007 at 17:12 UTC
      bunny:/tmp spiros$ perl u.pl SV = PV(0x1801460) at 0x180bcf0 REFCNT = 1 FLAGS = (PADBUSY,PADMY,POK,pPOK,UTF8) PV = 0x30f160 "ba\303\261o"\0 [UTF8 "ba\x{f1}o"] CUR = 5 LEN = 6 match
      What does the utf8 upgrade function do?
        utf8::upgrade just forces the string to be utf-8 (otherwise it'll probably latin-1 - i.e. 1-byte encoding) in an attempt to match your problem. Since it doesn't reproduce the warning/error you're reporting I must have missed something.

        I note there are 2 variables in your code. Are you SURE the problem arises when both variables are "baņo" AND are both utf-8 encoded? In other words, check the Devel::Peek::Dump output from both variables.