【问题标题】:UTF-8 encoded HTML file: German Umlaute are not shown correctly (only question marks)UTF-8 编码的 HTML 文件:德语变音符号未正确显示(只有问号)
【发布时间】:2014-08-30 18:07:03
【问题描述】:

我在使用 UTF-8 时在 HTML 页面中显示德语变音符号“ÄÖÜ”时遇到问题。下面是示例代码:

#!/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 上传服务器上的文件。

【问题讨论】:

    标签: html perl encoding utf-8


    【解决方案1】:

    你没有告诉 Perl 如何编码输出。

    use open ':std', ':encoding(UTF-8)';
    

    【讨论】:

      猜你喜欢
      • 2012-09-22
      • 2013-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-08
      • 2016-07-14
      • 1970-01-01
      • 2023-03-08
      相关资源
      最近更新 更多