Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re: Mapping ACCEPT_LANG, USER_AGENT & GeoIP to Encode's character sets

by Your Mother (Chancellor)
on Jun 22, 2012 at 04:26 UTC ( #977762=note: print w/replies, xml ) Need Help??

in reply to Mapping ACCEPT_LANG, USER_AGENT & GeoIP to Encode's character sets

This might get you started–

use strictures; use Encode; my $name = shift || die "Give an encoding!\n"; my $input = shift || "Some string..."; my $encoding = find_encoding($name) or die "No encoding found for $name\n"; binmode STDOUT, ":encoding(UTF-8)"; print $encoding->decode($input), $/; __END__
perl pm-977749 MacIcelandic "OHAI Ƌ"

perl pm-977749 MacRoman  "OHAI Ƌ"

perl pm-977749 UTF-8 "OHAI Ƌ"

Basically, just find_encoding as declared by client, rejecting unknowns or customizing to handle them, and then decode. For customizing see the Pod for Encode and realize that of the thousands of named encodings out there, they mostly line up with the stock list Encode is aware of, you just might have to do some mapping of your own; I seem to recall the EUC-KR set having several different names in various standards for example.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://977762]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (4)
As of 2017-06-26 19:51 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (590 votes). Check out past polls.