我一直在编码我的所有网站到UTF-8后,阅读了编码和字符集的基本知识和所有的东西。我刚刚上传了一个cgi脚本UTF-8编码。它从HTML表单(也是UTF-8)中读取数据,我一直得到一个500错误。我甚至做了一个脚本,只是说“好”,但它不起作用。我是说,不从表格上读,什么也不读,只是打印一行。
#!/usr/bin/perl
use utf8;
BEGIN {
$| = 1;
open (STDERR, ">&STDOUT");
print qq~Content-type: text/html\n\n~;
}
print "ok";我已经将使用"utf8;“移到BEGIN块下面,没有一个在工作。因此,500个错误表示脚本没有被读取,好像它没有755权限(它有)。
因此,我的问题不是关于读取UTF8数据,而是关于运行UTF8编码的perl脚本。
我应该保留我的脚本ANSI编码(并工作在读取utf8数据从HTML )?
我在Linux上的Apache上运行了Perl 5.8。还有..。如果我把剧本编码成Ansi,它就能正常工作(除了阅读UTF-8字符,但这是另一个故事)。
发布于 2011-09-17 06:56:02
use utf8只意味着您的Perl源代码在UTF-8中。它与脚本是否能够处理来自表单的UTF-8数据无关。
如果您的脚本在添加use utf8;行时停止工作,那么我看到两个可能的问题:
utf8.pm时会出现错误,或者(更有可能)#!处理,因此您的脚本无法运行。https://stackoverflow.com/questions/7452535
复制相似问题