Perl/Couldn't open encmap gb2312.enc

台湾のサイトのRSSを XML::Parser に与えると Couldn't open encmap gb2312.enc at /usr/lib64/perl5/XML/Parser.pm line 187 と言われる。

原因

CPAN の XML::Parser が GB2312 をサポートしていない。

対処

perl(windows2003) Couldn't open encmap gb2312.encに書かれています。

1. Download GB2312.TXT from ftp.unicode.org
2. Download the XML::Encoding 1.01 and get two binaries:
   make_encmap and compile_encoding
3. run make_encmap as follows:
   make_encmap GB2312 GB2312.TXT >; GB2312.encmap
4. Add expat='yes' to the first line of GB2312.encmap
5. run compile_encoding:
   compile_encoding -o GB2312.enc GB2312.encmap
6. copy GB2312.enc to 
   /usr/lib/perl5/site_perl/5.005/i386-linux/XML/Parser/Encodings