| 1 | If you read this file _as_is_, just ignore the funny characters you
 | 
|---|
| 2 | see. It is written in the POD format (see perlpod manpage) which is
 | 
|---|
| 3 | specially designed to be readable as is.
 | 
|---|
| 4 | 
 | 
|---|
| 5 | The following documentation is written in EUC-CN encoding.
 | 
|---|
| 6 | 
 | 
|---|
| 7 | Èç¹ûÄãÓÃÒ»°ãµÄÎÄ×Ö±àŒÆ÷ÔÄÀÀÕâ·ÝÎÄŒþ, ÇëºöÂÔÎÄÖÐÆæÌصÄ×¢ŒÇ×Ö·û.
 | 
|---|
| 8 | Õâ·ÝÎÄŒþÊÇÒÔ POD (ŒòÃ÷ÎÄŒþžñÊœ) ÐŽ³É; ÕâÖÖžñÊœÊÇΪÁËÄÜÈÃÈËÖ±œÓÔĶÁ,
 | 
|---|
| 9 | ¶øÌرðÉèŒÆµÄ. ¹ØÓÚŽËžñÊœµÄœøÒ»²œÐÅÏ¢, Çë²Î¿Œ perlpod ÏßÉÏÎÄŒþ.
 | 
|---|
| 10 | 
 | 
|---|
| 11 | =head1 NAME
 | 
|---|
| 12 | 
 | 
|---|
| 13 | perlcn - ŒòÌåÖÐÎÄ Perl ÖžÄÏ
 | 
|---|
| 14 | 
 | 
|---|
| 15 | =head1 DESCRIPTION
 | 
|---|
| 16 | 
 | 
|---|
| 17 | »¶ÓÀ޵œ Perl µÄÌìµØ!
 | 
|---|
| 18 | 
 | 
|---|
| 19 | ŽÓ 5.8.0 °æ¿ªÊŒ, Perl Ÿß±žÁËÍêÉÆµÄ Unicode (ͳһÂë) Ö§Ô®,
 | 
|---|
| 20 | Ò²Á¬ŽøÖ§Ô®ÁËÐí¶àÀ¶¡ÓïϵÒÔÍâµÄ±àÂ뷜ʜ; CJK (ÖÐÈÕº«) ±ãÊÇÆäÖеÄÒ»²¿·Ý.
 | 
|---|
| 21 | Unicode ÊǹúŒÊÐԵıê׌, ÊÔÍŒºžÇÊÀœçÉÏËùÓеÄ×Ö·û: Î÷·œÊÀœç, ¶«·œÊÀœç,
 | 
|---|
| 22 | ÒÔŒ°ÁœÕߌäµÄÒ»ÇÐ (Ï£À°ÎÄ, ÐðÀûÑÇÎÄ, ÑÇÀ²®ÎÄ, Ï£²®ÀŽÎÄ, Ó¡¶ÈÎÄ,
 | 
|---|
| 23 | Ó¡µØ°²ÎÄ, µÈµÈ). ËüÒ²ÈÝÄÉÁ˶àÖÖ×÷ҵϵͳÓëÆœÌš (Èç PC Œ°ÂóœðËþ).
 | 
|---|
| 24 | 
 | 
|---|
| 25 | Perl ±ŸÉíÒÔ Unicode œøÐвÙ×÷. Õâ±íÊŸ Perl ÄÚ²¿µÄ×Ö·ûŽ®ÊýŸÝ¿ÉÓà Unicode
 | 
|---|
| 26 | ±íÊŸ; Perl µÄº¯ÊœÓëËã·û (ÀýÈçÕý¹æ±íÊŸÊœ±È¶Ô) Ò²ÄÜ¶Ô Unicode œøÐвÙ×÷.
 | 
|---|
| 27 | ÔÚÊäÈ댰Êä³öʱ, ΪÁËŽŠÀíÒÔ Unicode ֮ǰµÄ±àÂë·œÊœŽæ·ÅµÄÊýŸÝ, Perl
 | 
|---|
| 28 | ÌṩÁË Encode ÕâžöÄ£¿é, ¿ÉÒÔÈÃÄãÇáÒ׵ضÁÈ¡Œ°ÐŽÈëŸÉÓеıàÂëÊýŸÝ.
 | 
|---|
| 29 | 
 | 
|---|
| 30 | Encode ÑÓÉìÄ£¿éÖ§Ô®ÏÂÁÐŒòÌåÖÐÎĵıàÂ뷜ʜ ('gb2312' ±íÊŸ 'euc-cn'):
 | 
|---|
| 31 | 
 | 
|---|
| 32 |     euc-cn      Unix ÑÓÉì×Ö·ûŒ¯, Ò²ŸÍÊÇË׳ƵĹú±êÂë
 | 
|---|
| 33 |     gb2312-raw  ÎŽŸŽŠÀíµÄ (µÍ±ÈÌØ) GB2312 ×Ö·û±í
 | 
|---|
| 34 |     gb12345     ÎŽŸŽŠÀíµÄÖйúÓ÷±ÌåÖÐÎıàÂë
 | 
|---|
| 35 |     iso-ir-165  GB2312 + GB6345 + GB8565 + ÐÂÔö×Ö·û
 | 
|---|
| 36 |     cp936       ×ÖÂëÒ³ 936, Ò²¿ÉÒÔÓà 'GBK' (À©³ä¹ú±êÂë) ÖžÃ÷
 | 
|---|
| 37 |     hz          7 ±ÈÌØÒݳöÊœ GB2312 ±àÂë
 | 
|---|
| 38 | 
 | 
|---|
| 39 | ŸÙÀýÀŽËµ, œ« EUC-CN ±àÂëµÄµµ°ž×ª³É Unicode, ìóÐèŒüÈëÏÂÁÐÖžÁî:
 | 
|---|
| 40 | 
 | 
|---|
| 41 |     perl -Mencoding=euc-cn,STDOUT,utf8 -pe1 < file.euc-cn > file.utf8
 | 
|---|
| 42 | 
 | 
|---|
| 43 | Perl Ò²ÄÚžœÁË "piconv", Ò»Ö§ÍêÈ«ÒÔ Perl ÐŽ³ÉµÄ×Ö·ûת»»¹€Ÿß³ÌÐò, Ó÷šÈçÏÂ:
 | 
|---|
| 44 | 
 | 
|---|
| 45 |     piconv -f euc-cn -t utf8 < file.euc-cn > file.utf8
 | 
|---|
| 46 |     piconv -f utf8 -t euc-cn < file.utf8 > file.euc-cn
 | 
|---|
| 47 | 
 | 
|---|
| 48 | ÁíÍâ, ÀûÓà encoding Ä£¿é, Äã¿ÉÒÔÇáÒ×ÐŽ³öÒÔ×Ö·ûΪµ¥Î»µÄ³ÌÐòÂë, ÈçÏÂËùÊŸ:
 | 
|---|
| 49 | 
 | 
|---|
| 50 |     #!/usr/bin/env perl
 | 
|---|
| 51 |     # Æô¶¯ euc-cn ×ÖŽ®œâÎö; ±ê׌Êä³öÈ댰±ê׌ŽíÎó¶ŒÉèΪ euc-cn ±àÂë
 | 
|---|
| 52 |     use encoding 'euc-cn', STDIN => 'euc-cn', STDOUT => 'euc-cn';
 | 
|---|
| 53 |     print length("ÂæÍÕ");            #  2 (Ë«ÒýºÅ±íÊŸ×Ö·û)
 | 
|---|
| 54 |     print length('ÂæÍÕ');            #  4 (µ¥ÒýºÅ±íÊŸ×ÖœÚ)
 | 
|---|
| 55 |     print index("×»×»œÌ»å", "»×»œ"); # -1 (²»°üº¬ŽË×Ó×Ö·ûŽ®)
 | 
|---|
| 56 |     print index('×»×»œÌ»å', '»×»œ'); #  1 (ŽÓµÚ¶þžö×֜ڿªÊŒ)
 | 
|---|
| 57 | 
 | 
|---|
| 58 | ÔÚ×îºóÒ»ÁÐÀý×ÓÀï, "×»" µÄµÚ¶þžö×ÖœÚÓë "×»" µÄµÚÒ»žö×֜ڜáºÏ³É EUC-CN
 | 
|---|
| 59 | ÂëµÄ "»×"; "×»" µÄµÚ¶þžö×ÖœÚÔòÓë "œÌ" µÄµÚÒ»žö×֜ڜáºÏ³É "»œ".
 | 
|---|
| 60 | ÕâœâŸöÁËÒÔǰ EUC-CN Âë±È¶ÔŽŠÀíÉϳ£ŒûµÄÎÊÌâ.
 | 
|---|
| 61 | 
 | 
|---|
| 62 | =head2 ¶îÍâµÄÖÐÎıàÂë
 | 
|---|
| 63 | 
 | 
|---|
| 64 | Èç¹ûÐèÒªžü¶àµÄÖÐÎıàÂë, ¿ÉÒÔŽÓ CPAN (L<http://www.cpan.org/>) ÏÂÔØ
 | 
|---|
| 65 | Encode::HanExtra Ä£¿é. ËüĿǰÌṩÏÂÁбàÂ뷜ʜ:
 | 
|---|
| 66 | 
 | 
|---|
| 67 |     gb18030     À©³ä¹ýµÄ¹ú±êÂë, °üº¬·±ÌåÖÐÎÄ
 | 
|---|
| 68 | 
 | 
|---|
| 69 | ÁíÍâ, Encode::HanConvert Ä£¿éÔòÌṩÁËŒò·±×ª»»ÓõÄÁœÖÖ±àÂë:
 | 
|---|
| 70 | 
 | 
|---|
| 71 |     big5-simp   Big5 ·±ÌåÖÐÎÄÓë Unicode ŒòÌåÖÐÎÄ»¥×ª
 | 
|---|
| 72 |     gbk-trad    GBK ŒòÌåÖÐÎÄÓë Unicode ·±ÌåÖÐÎÄ»¥×ª
 | 
|---|
| 73 | 
 | 
|---|
| 74 | ÈôÏëÔÚ GBK Óë Big5 Ö®Œä»¥×ª, Çë²Î¿ŒžÃÄ£¿éÄÚžœµÄ b2g.pl Óë g2b.pl ÁœÖ§³ÌÐò,
 | 
|---|
| 75 | »òÔÚ³ÌÐòÄÚʹÓÃÏÂÁÐÐŽ·š:
 | 
|---|
| 76 | 
 | 
|---|
| 77 |     use Encode::HanConvert;
 | 
|---|
| 78 |     $euc_cn = big5_to_gb($big5); # ŽÓ Big5 תΪ GBK
 | 
|---|
| 79 |     $big5 = gb_to_big5($euc_cn); # ŽÓ GBK תΪ Big5
 | 
|---|
| 80 | 
 | 
|---|
| 81 | =head2 œøÒ»²œµÄÐÅÏ¢
 | 
|---|
| 82 | 
 | 
|---|
| 83 | Çë²Î¿Œ Perl ÄÚžœµÄŽóÁ¿ËµÃ÷ÎÄŒþ (²»ÐÒÈ«ÊÇÓÃÓ¢ÎÄÐŽµÄ), ÀŽÑ§Ï°žü¶à¹ØÓÚ
 | 
|---|
| 84 | Perl µÄ֪ʶ, ÒÔŒ° Unicode µÄʹÓ÷œÊœ. ²»¹ý, ÍⲿµÄ×ÊÔŽÏ൱·áž»:
 | 
|---|
| 85 | 
 | 
|---|
| 86 | =head2 Ìṩ Perl ×ÊÔŽµÄÍøÖ·
 | 
|---|
| 87 | 
 | 
|---|
| 88 | =over 4
 | 
|---|
| 89 | 
 | 
|---|
| 90 | =item L<http://www.perl.com/>
 | 
|---|
| 91 | 
 | 
|---|
| 92 | Perl µÄÊ×Ò³ (ÓÉÅ·À³Àñ¹«ËŸÎ¬»€)
 | 
|---|
| 93 | 
 | 
|---|
| 94 | =item L<http://www.cpan.org/>
 | 
|---|
| 95 | 
 | 
|---|
| 96 | Perl ×ÛºÏµä²ØÍø (Comprehensive Perl Archive Network)
 | 
|---|
| 97 | 
 | 
|---|
| 98 | =item L<http://lists.perl.org/>
 | 
|---|
| 99 | 
 | 
|---|
| 100 | Perl ÓʵÝÂÛ̳һÀÀ
 | 
|---|
| 101 | 
 | 
|---|
| 102 | =back
 | 
|---|
| 103 | 
 | 
|---|
| 104 | =head2 ѧϰ Perl µÄÍøÖ·
 | 
|---|
| 105 | 
 | 
|---|
| 106 | =over 4
 | 
|---|
| 107 | 
 | 
|---|
| 108 | =item L<http://www.oreilly.com.cn/html/perl.html>
 | 
|---|
| 109 | 
 | 
|---|
| 110 | ŒòÌåÖÐÎİæµÄÅ·À³Àñ Perl Êéœå
 | 
|---|
| 111 | 
 | 
|---|
| 112 | =back
 | 
|---|
| 113 | 
 | 
|---|
| 114 | =head2 Perl ʹÓÃÕߌ¯»á
 | 
|---|
| 115 | 
 | 
|---|
| 116 | =over 4
 | 
|---|
| 117 | 
 | 
|---|
| 118 | =item L<http://www.pm.org/groups/asia.shtml#China>
 | 
|---|
| 119 | 
 | 
|---|
| 120 | Öйú Perl ÍÆ¹ã×éÒ»ÀÀ
 | 
|---|
| 121 | 
 | 
|---|
| 122 | =back
 | 
|---|
| 123 | 
 | 
|---|
| 124 | =head2 Unicode Ïà¹ØÍøÖ·
 | 
|---|
| 125 | 
 | 
|---|
| 126 | =over 4
 | 
|---|
| 127 | 
 | 
|---|
| 128 | =item L<http://www.unicode.org/>
 | 
|---|
| 129 | 
 | 
|---|
| 130 | Unicode ѧÊõѧ»á (Unicode ±ê׌µÄÖÆ¶šÕß)
 | 
|---|
| 131 | 
 | 
|---|
| 132 | =item L<http://www.cl.cam.ac.uk/%7Emgk25/unicode.html>
 | 
|---|
| 133 | 
 | 
|---|
| 134 | Unix/Linux É쵀 UTF-8 Œ° Unicode Žð¿ÍÎÊ
 | 
|---|
| 135 | 
 | 
|---|
| 136 | =back
 | 
|---|
| 137 | 
 | 
|---|
| 138 | =head1 SEE ALSO
 | 
|---|
| 139 | 
 | 
|---|
| 140 | L<Encode>, L<Encode::CN>, L<encoding>, L<perluniintro>, L<perlunicode>
 | 
|---|
| 141 | 
 | 
|---|
| 142 | =head1 AUTHORS
 | 
|---|
| 143 | 
 | 
|---|
| 144 | Jarkko Hietaniemi E<lt>jhi@iki.fiE<gt>
 | 
|---|
| 145 | 
 | 
|---|
| 146 | Autrijus Tang (ÌÆ×Úºº) E<lt>autrijus@autrijus.orgE<gt>
 | 
|---|
| 147 | 
 | 
|---|
| 148 | =cut
 | 
|---|