in reply to Re^6: Confusing UTF-8 bug in CGI-script
in thread Confusing UTF-8 bug in CGI-script

I suspect one of two reasons for the differences: ...

Neither of those is the case.

I've verified (by sending the request through a proxy) that the content is sent UTF-8 encoded (i.e. no %-encoding).  And my Encode::decode also behaves normally (i.e. it would die with "Cannot decode string with wide characters").  This is, however, irrelevant, because CGI.pm has code to prevent double-decoding:

sub _decode_utf8 { my ($self, $val) = @_; if (Encode::is_utf8($val)) { return $val; } else { return Encode::decode(utf8 => $val); } }

This sufficiently explains the behavior I observed and reported (for the input side).

Replies are listed 'Best First'.
Re^8: Confusing UTF-8 bug in CGI-script
by ikegami (Patriarch) on Feb 02, 2011 at 01:51 UTC

    Well, it's pretty damn close. I said

    Maybe your version of decode

    I should have said

    Maybe your version of the decoder