Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 如何将HTTP参数从CP1251页传递到UTF-8处理程序?_Perl_Encoding_Character Encoding_Cgi_Param - Fatal编程技术网

Perl 如何将HTTP参数从CP1251页传递到UTF-8处理程序?

Perl 如何将HTTP参数从CP1251页传递到UTF-8处理程序?,perl,encoding,character-encoding,cgi,param,Perl,Encoding,Character Encoding,Cgi,Param,当我在下面的Perl程序的输入中键入一个俄语单词并单击Submit时,我看到的是一个废话而不是俄语字母 如何将数据从编码为CP1251的页面传递到需要UTF-8字符串的处理程序脚本?(下面的脚本是这种情况的一个简单示例。) #/usr/bin/perl 严格使用; 使用警告; 使用CGI qw/param/; if(参数('x')){ 打印“内容类型:文本/普通;字符集=utf-8\n\n”; 打印“[”.param('x').“]]”; }否则{ 打印“内容类型:text/html;字符集=w

当我在下面的Perl程序的输入中键入一个俄语单词并单击Submit时,我看到的是一个废话而不是俄语字母

如何将数据从编码为CP1251的页面传递到需要UTF-8字符串的处理程序脚本?(下面的脚本是这种情况的一个简单示例。)

#/usr/bin/perl
严格使用;
使用警告;
使用CGI qw/param/;
if(参数('x')){
打印“内容类型:文本/普通;字符集=utf-8\n\n”;
打印“[”.param('x').“]]”;
}否则{
打印“内容类型:text/html;字符集=windows-1251\n\n”;
打印“”;
打印“”;
}

我可以将
param()
的值从CP1251转换为UTF-8,或者将
accept charset='UTF-8'
属性添加到
元素。

接受charset似乎是更好的主意。也看到
#!/usr/bin/perl

use strict;
use warnings;

use CGI qw/param/;

if (param('x')) {
  print "Content-Type: text/plain; charset=utf-8\n\n";
  print "[[".param('x')."]]";
} else {
  print "Content-Type: text/html; charset=windows-1251\n\n";
  print '<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></head>';
  print "<form><input name='x'/><input type='submit'/></form>";
}