如何将 HTTP 参数从 CP1251 页面传递到 UTF-8 处理程序?
How to pass a HTTP parameter from a CP1251 page to a UTF-8 handler?
当我在下面的 Perl 程序的输入中键入一个俄语单词并单击提交时,我看到了一个废话而不是俄语字母。
如何将数据从编码为 CP1251 的页面传递到需要 UTF-8 字符串的处理程序脚本? (下面的脚本是这种情况的一个简单示例。)
#!/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>";
}
我可以将 param()
的值从 CP1251 转换为 UTF-8 或将 accept-charset='utf-8'
属性添加到 <form>
元素。
当我在下面的 Perl 程序的输入中键入一个俄语单词并单击提交时,我看到了一个废话而不是俄语字母。
如何将数据从编码为 CP1251 的页面传递到需要 UTF-8 字符串的处理程序脚本? (下面的脚本是这种情况的一个简单示例。)
#!/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>";
}
我可以将 param()
的值从 CP1251 转换为 UTF-8 或将 accept-charset='utf-8'
属性添加到 <form>
元素。