in reply to Re^2: Malformed UTF-8 character
in thread Malformed UTF-8 character

I understand that use utf8 is to save the code page in utf-8

Not really sure what you mean by that... but use utf8 tells Perl that the source code (string literals, etc.) is encoded in UTF-8. So you shouldn't use it if that's not the case for your script.

binmode STDOUT, ":utf8" sets the utf8 PerlIO layer for STDOUT, which tells Perl that you want UTF-8 encoded output for that file handle.

use open ':encoding(utf8)' declares the default layer for I/O streams, i.e. you don't have to explicitly specify the respective layer when you open a file.  See the open pragma for the details.

Replies are listed 'Best First'.
Re^4: Malformed UTF-8 character
by Steve_BZ (Chaplain) on Apr 30, 2011 at 20:03 UTC

    Thanks for this.

    Regards

    Steve