in reply to Re: Decoding, Encoding string, how to? (internal encoding)
in thread Decoding, Encoding string, how to?
Your graphic is really helpful to understand how the encode works on Perl
you has been really clear, just one more thing, if a want to print using iso-8859-1 it could be possible downgrading, because it changes the internal encoding to this last one and when I print the string (in normal case), i'll have an iso-8859-1 text in the output, isn't it?
I was checked, the examples, and I performed other test using the graphic like downgrading, but i couldn't print the original (U+201C, LEFT DOUBLE QUOTATION MARK), thinking, I see that it's not representing in the iso-8859-1 charset, but I found different issues regarding that:
1- If I downgrade the string, perl dies with a message that has wide characters and I guest, that's important becouse in other case it could be cut the internal string without notice, in fact, we can check if it's downgradeable or not using:
my $str = "This's a \x{201c}test\x{201d}"; unless (utf8::downgrade($str, 1)) { die "Isn't downgradable\n"; }
2- using :encoding on an output stream i can see two notice in this case, about perl can't map to iso-8859-1 but in the output appear the unmapped character as an string like \x{201c}.
3- using Encode::encode the unmapped character is printed as an ? question symbol and not report any notice
Thank you so much, is a great explanation
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^3: Decoding, Encoding string, how to?
by ikegami (Patriarch) on Apr 03, 2009 at 08:50 UTC | |
by way (Sexton) on Apr 03, 2009 at 18:23 UTC |