in reply to UTF8 Validity

utf8::valid checks the internal consistency for a string. On the outside, it does not have anything to do with UTF-8 encoding at all.

Replies are listed 'Best First'.
Re^2: UTF8 Validity
by menolly (Hermit) on Feb 21, 2008 at 19:57 UTC
    Ah. I tried it based on this reply, in the other thread. Is there a module/regex/etc. that I can use to detect non-utf8 data in a string?

      Just try to decode something as UTF-8. If that fails, fall back to something else.

      For example:

      $foo = eval { decode("UTF-8", $foo, Encode::FB_CROAK) } || decode("CP1252", $foo);