#!/usr/bin/perl -w use CGI; $q=CGI->new; print $q->header(), $q->start_html( -title => "Hello Perl" ), $q->h1("perl cgi"), $q->h2("信我者得永生"), $q->end_html();
结果:
# ./test.pl Content-Type: text/html; charset=ISO-8859-1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US"> <head> <title>Hello Perl</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <h1>perl cgi</h1><h2>信我者得永生</h2> </body> </html>
可以看出响应头和html meta元素中都是"iso-8859-1",所以要修改这两者。
修改:
# cat test.pl #!/usr/bin/perl -w use CGI; $q=CGI->new; print $q->header( -Content_Type => "text/html; charset=\"utf-8\"" ), $q->start_html( -title => "Hello Perl", -encoding => "utf-8" ), $q->h1("perl cgi"), $q->h2("信我者得永生"), $q->end_html(); # ./test.pl Content-Type: text/html; charset="utf-8" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US"> <head> <title>Hello Perl</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <h1>perl cgi</h1><h2>信我者得永生</h2> </body> </html>