gpt4 book ai didi

perl - 如何在 perl cgi-bin 脚本中使用 utf-8?

转载 作者:行者123 更新时间:2023-12-03 23:16:07 25 4
gpt4 key购买 nike

我有以下 cgi bin 脚本:

 #! /usr/bin/perl
#

use utf8;

use CGI;
my $q = CGI->new();
my %params = $q->Vars;

print $q->header('text/html');

$w = $params{"words"};

print "$w\n";

例如,我希望能够将其称为 cgi-bin/script.pl?words=É,但是当我这样做时,打印的不是 UTF-8,而是乱码:
   É 

有没有办法将 cgi-bin 与 utf8 一起使用?

最佳答案

您的电话 use utf8除了在源文件本身中允许使用 UTF-8 字符之外,它不会为您做任何事情。您必须确保输出句柄(在 STDOUT 以及任何文件上)设置为 utf8 .处理此问题的一种简单方法是 utf8::all模块。此外,请确保您发送正确的 header ,并使用 -utf8 CGI pragma 将传入参数视为 UTF-8。最后,一如既往,一定要使用严格和警告。

以下内容应该可以帮助您入门:

#!/usr/bin/perl

use strict;
use warnings;

use utf8::all;
use CGI qw(-utf8);

my $q = CGI->new;
print $q->header("text/html;charset=UTF-8");
print $q->param("words");

exit;

关于perl - 如何在 perl cgi-bin 脚本中使用 utf-8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25981812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com