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

 熊孝琳_506 发布于 2023-01-03 14:48

我试图将我的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

您也可以测试此脚本.它在网上是这个地址:http: //project-website.org/test/test0.cgi 有谁知道可能是什么问题?预先感谢您的帮助!

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有