使用UTF-8时,我在HTML页面中显示德语Umlaute“ÄÖÜ”时遇到问题。以下是示例代码:
#!/usr/bin/perl
use utf8;
print "Content-Type: text/html; charset=utf-8\n\n";
print <<END;
<HTML>
<HEAD>
<META CHARSET='UTF-8'>
</HEAD>
<BODY>
<H1>The Country Österreich</H1>
</BODY>
</HTML>
END
结果可见于:
http://5mls.com/test_bad.cgi
如您所见,“Ö”未显示
现在有效的代码:
#!/usr/bin/perl
use utf8;
print "Content-Type: text/html; charset=utf-8\n\n";
print <<END;
<HTML>
<HEAD>
<META CHARSET='UTF-8'>
</HEAD>
<BODY>
<H1>The Country Österreich<!-- Э --></H1>
</BODY>
</HTML>
END
结果可见于:
http://5mls.com/test_good.cgi
这次“Ö”正确显示,因为评论中的俄语字符“Э”。有没有人知道,如果没有俄罗斯人的评论,“Ö”如何展示?
我使用UltraEdit V21创建源文件并将其转换为UTF-8。我使用WS_FTP LE上传服务器上的文件。
答案 0 :(得分:4)
你没有告诉Perl如何编码输出。
use open ':std', ':encoding(UTF-8)';