小编use*_*670的帖子

Perl和HTML:UTF8在表单中不起作用

我试图将我的Perl/HTML文件更改为UTF-8格式.不幸的是我的表格有问题.我创建了一个小测试脚本来举例说明问题.它所做的只是重新加载,以便输入的文本将再次显示.它适用于ASCII字符.一进入德语"Umlaute"(ÄÖÜ),角色就会变形.它也无法处理俄语字符(ЭЯЮ).这是脚本:

#!/usr/bin/perl

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

# Safe query-string in hash:
$querystring = $ENV{ 'QUERY_STRING' };
read(STDIN, $poststring, $ENV{CONTENT_LENGTH});
if (($querystring ne "") && ($poststring ne "")) { $querystring .= "&$poststring"; } 
    else { $querystring .= $poststring; }

$querystring =~ s/&/=/gi;
%query = split( /=/, $querystring );
foreach $key ( keys( %query ) ) {
    $query{$key} =~ tr/+/ /;
    $query{$key} =~ s/%([\da-f][\da-f])/chr( hex($1) )/egi;
    $uquer{$key} = decode_utf8( $query{$key} );
}

print "Content-Type: text/html; charset=\"UTF-8\"\n\n";
print <<END; …
Run Code Online (Sandbox Code Playgroud)

html perl utf-8 character-encoding

0
推荐指数
1
解决办法
577
查看次数

标签 统计

character-encoding ×1

html ×1

perl ×1

utf-8 ×1