perl cgi get 传参?name=%22%E8%8F%9C%E9%B8%9F%E6%95%99%E7%A8%8B%22 是乱码不能被正常解析
时间: 2023-12-14 10:36:14 浏览: 120
这是因为 %22
是双引号的 URL 编码,而 %E8%8F%9C%E9%B8%9F%E6%95%99%E7%A8%8B
是中文字符“菜鸟教程”的 URL 编码。在 Perl CGI 中获取 GET 请求参数时,可以使用 CGI
模块的 param
方法来获取。示例代码如下:
use CGI;
my $cgi = CGI->new;
my $name = $cgi->param('name');
$name = decode_utf8($name); # 如果需要将 URL 编码的中文字符解码成实际字符,则需要使用 utf8::decode 或 decode_utf8 函数进行解码
print "Content-Type: text/plain;charset=utf-8\n\n";
print "Name: $name\n";
其中,decode_utf8
函数是 Encode
模块提供的函数,用于将 UTF-8 编码的字符串解码成实际的字符。如果不需要解码,则可以省略这一步。
阅读全文
相关推荐






