My Perl脚本接受并处理网页表单中文本字段的输入。它是为网页的英文版编写的,效果很好。
还有一个中文版的页面(一个单独的页面,而不是同一页面上的两种语言),现在我需要我的脚本来处理它。此页面上的用户输入应为中文。
期望需要在UTF-8中工作,我添加了
use utf8;
这在英文页面上继续正常运作。
但是为了例如定义一个用于比较的字符串变量,使用中文字符,我必须使用utf-8编码保存Perl脚本本身。一旦我这样做,我就会遇到可怕的500服务器错误。
显然,我正在解决这个问题,我们将非常感谢任何有用的方向/
感谢。
编辑 - 请参阅下面的澄清帖子。
答案 0 :(得分:0)
正确处理utf8
:
use strict; use warnings;
use utf8;
use open(IO => ':encoding(utf8)');
binmode $_, ":utf8" for qw/STDOUT STDIN STDERR/;
open(my $fh, '<:utf8', '/file/path'); # if you need a file-handle
# code.....
检查
答案 1 :(得分:0)
对不起 - 我认为通过包含太多信息我很难表达我的问题。
问题是 - 如果我以ANSI格式保存我的脚本并将其上传到服务器,它对于英文页面来说效果很好。期望在脚本中使用中文字符,我将其保存为UTF-8格式并重新上传,突然间它会为英文页面抛出500.
我使用Hello World脚本进行了测试:
#!/usr/bin/perl -T
use strict;
use warnings;
print "Content-type: text/html\n\n";
print "Hello, world!\n";
保存为ANSI时工作正常 - 保存为UTF8时失败500。