Encode::CN - China-based Chinese Encodings
use Encode qw/encode decode/;
$euc_cn = encode("euc-cn", $utf8); # loads Encode::CN implicitly
$utf8 = decode("euc-cn", $euc_cn); # ditto
This module implements China-based Chinese charset encodings. Encodings supported are as follows.
Canonical Alias Description
--------------------------------------------------------------------
euc-cn /\beuc.*cn$/i EUC (Extended Unix Character)
/\bcn.*euc$/i
/\bGB[-_ ]?2312(?:\D.*$|$)/i (see below)
gb2312-raw The raw (low-bit) GB2312 character map
gb12345-raw Traditional chinese counterpart to
GB2312 (raw)
iso-ir-165 GB2312 + GB6345 + GB8565 + additions
MacChineseSimp GB2312 + Apple Additions
cp936 Code Page 936, also known as GBK
(Extended GuoBiao)
hz 7-bit escaped GB2312 encoding
--------------------------------------------------------------------
To find how to use this module in detail, see Encode.
Due to size concerns, GB 18030
(an extension to GBK
) is distributed separately on CPAN, under the name Encode::HanExtra. That module also contains extra Taiwan-based encodings.
When you see charset=gb2312
on mails and web pages, they really mean euc-cn
encodings. To fix that, gb2312
is aliased to euc-cn
. Use gb2312-raw
when you really mean it.
The ASCII region (0x00-0x7f) is preserved for all encodings, even though this conflicts with mappings by the Unicode Consortium. See
http://www.debian.or.jp/~kubota/unicode-symbols.html.en
to find out why it is implemented that way.