我正在为学校写一个C作业。任务的具体措辞如下:
“编写一个程序,打印0到255之间的整数列表和相应的ASCII字符。”在
实际代码非常简单:#include
int main() {
int i;
for (i = 0; i <= 256; i++) {
printf("%d --> %c\n", i, i);
}
return 0;
}
但是,我需要用Django在网页中显示这个输出。我用gcc编译了这段代码(启用了-std=C99选项),它的输出很好。但是,在网页中,这不会输出任何内容。我们的Django视图使用popen2打开带有以下代码的可执行文件:
^{pr2}$
这个页面已经过测试,可以与这个类的所有其他C代码一起工作。我在视图中添加了一个print语句来验证代码的输出是否被正确地发送到浏览器,并且它在终端中得到了正确的显示,而不是在浏览器中。事实上,它根本不会显示在浏览器中。进一步检查后,标记中绝对没有任何内容可以正常显示代码的输出。我猜这和字符编码有关。有什么想法吗?在
编辑:我忘了在我的模板中,我用meta标记将字符编码指定为utf-8。在
编辑2:我的一个朋友有一个版本,它在http://geekingreen.dyndns.org/week02/Assignment-5上以utf-8格式保存在Windows上的文本文件的内容,但是如果他试图用可执行文件的输出来显示该页面,他就会遇到和我一样的问题。在