首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否编码cgi脚本UTF-8?

是否编码cgi脚本UTF-8?
EN

Stack Overflow用户
提问于 2011-09-17 04:53:50
回答 1查看 964关注 0票数 0

我一直在编码我的所有网站到UTF-8后,阅读了编码和字符集的基本知识和所有的东西。我刚刚上传了一个cgi脚本UTF-8编码。它从HTML表单(也是UTF-8)中读取数据,我一直得到一个500错误。我甚至做了一个脚本,只是说“好”,但它不起作用。我是说,不从表格上读,什么也不读,只是打印一行。

代码语言:javascript
复制
#!/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字符,但这是另一个故事)。

EN

回答 1

Stack Overflow用户

发布于 2011-09-17 06:56:02

use utf8只意味着您的Perl源代码在UTF-8中。它与脚本是否能够处理来自表单的UTF-8数据无关。

如果您的脚本在添加use utf8;行时停止工作,那么我看到两个可能的问题:

  1. 您的Perl安装有问题,所以当它试图加载utf8.pm时会出现错误,或者(更有可能)
  2. 当您将文件保存为UTF-8时,编辑器将插入一个BOM表。BOM会干扰#!处理,因此您的脚本无法运行。
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7452535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档