+ -
当前位置:首页 → 问答吧 → uClinux下编写的cgi程序能输出中文吗

uClinux下编写的cgi程序能输出中文吗

时间:2007-04-26

来源:互联网

我用了uclinux下的boa服务器,写了些cgi程序,用printf()能输出英文显示在windows浏览器上,但中文无法显示,怎么能显示中文啊?
可以把静态页面的中文显示出来,但不能把cgi程序中的中文显示出来,
main()
{
input inputs[10];
int len;
int ch;
FILE *fp;
int s[100];
char p[100];
char accounts[20],password[20];
int i=0,j=0,k=0;
printf("Content-type:text/html\n\n");
len=atoi(getenv("CONTENT_LENGTH"));
for(i=0;len&&(!feof(stdin));i++)
{
inputs.val=ReadStdin(stdin,'&',&len);
AddToSpace(inputs.val);
Convert(inputs.val);
inputs.name=ReadData(inputs.val,'=');
}
fp=fopen("/tmp/register","w+");
if(fp==NULL)
exit(1);
if(strcmp(inputs[1].val,inputs[2].val)==0)
{
fp=fopen("/tmp/register","w+");
fwrite(inputs[0].val,strlen(inputs[0].val),1,fp);
fputc('=',fp);
fwrite(inputs[1].val,strlen(inputs[1].val),1,fp);
fclose(fp);
fp=fopen("/home/web/html/change_success.html","r");
//chang_success.html中的中文能显示出来
if(fp==NULL)
exit(1);
while(!feof(fp))
{
ch=fgetc(fp);
putchar(ch);
}
fclose(fp);
}
else
{
printf("出了问题");//这里的中文无法输出
}
}
显示的是Invalid multibyte format string,
不知道怎么解决????      

作者: soqsoq   发布时间: 2007-04-26

帮顶,我也是遇见这个问题了      

作者: prince1234   发布时间: 2007-06-05

printf("charset:gb2312\n");      

作者: tojeff   发布时间: 2007-06-24

中文的显示其实是html的功能,在html的head信息中增加content="text/html; charset=gb2312"      

作者: 白石   发布时间: 2007-07-10