社区
C语言
帖子详情
如何用CGI程序显示中文?
hmaple
2000-09-13 04:52:00
我在UNIX下用C编了一个CGI程序,接收输入到表单的TEXT域里的文字,然后把这些文字显示出来。
我定义了一个char型的数组存放输入的文字,然后用printf生成一个新的页面,并显示输入的文字。但如果输入了中文,再显示出来就全是乱码。如何解决这个问题?
...全文
351
5
打赏
收藏
如何用CGI程序显示中文?
我在UNIX下用C编了一个CGI程序,接收输入到表单的TEXT域里的文字,然后把这些文字显示出来。 我定义了一个char型的数组存放输入的文字,然后用printf生成一个新的页面,并显示输入的文字。但如果输入了中文,再显示出来就全是乱码。如何解决这个问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
partime
2000-09-15
打赏
举报
回复
输出页面前用<meta >标签指定语言就可以了
我的CGI全用的这种方式,中文显示正常,没有乱码
<meta charset='gb2312'>
hmaple
2000-09-15
打赏
举报
回复
不是。
我限定了TEXT域的最大长度,然后定义了足够用的数组,把输入的文字填入数组后,再加上一个NULL。然后用printf("%s",...)来输出字符串。
partime
2000-09-15
打赏
举报
回复
这是因为汉字为非ASCII码
在http传输时被URL编码了
用%XX表示与0xXX对应的字节
即成为了%[(0-9,A-F)(0-9,A-F)]这样的字符串
你在cgi中需要将该编码字符串还原
具体做法是在串中查找类似的子串
并转换为原二进制字节0xXX
在Perl中实现很简单,有pack函数。
在C/C++中只好自己实现了
我原来做过C/C++的URL解码代码
那是好几年前了
现在一时也找不到,但原理是没问题的
hmaple
2000-09-15
打赏
举报
回复
不行,我已经在加上<meta http-equiv="Content-Type" content="text/html; charset=gb2312">了!
我的页面是这样的:
<FORM ACTION="/cgi-bin/register.cgi" METHOD="POST">
Your name:<INPUT TYPE="text" NAME="username" MAXLENGTH="10">
<INPUT TYPE="submit" VALUE="Submit"><INPUT TYPE="reset" VALUE"Reset"
</FORM> char * length;
用来测试的CGI程序是这样实现的:
char buf[255];
length=getenv("CONTENT_LENGTH");
len=atoi(length);
for(i=0;i<len;i++)
buf[i]=getc(stdin);
buf[i]=NULL;
...//输出HTML头(略)
printf("the buf is %s",buf);
...//输出HTML尾(略)
是不是不该用getc()来读数据?
我在加20分!!
wwwunix
2000-09-14
打赏
举报
回复
是不是没有定义字符数组的大小,造成缓冲区溢出。
cgi
新闻
程序
生成html页面v3.0正式版
5:在浏览器里打开install.
cgi
程序
安装向导,安照提示进行安装。 6:进入管理中心在"
程序
变量管理"查看其它功能,按照自己的要求修改后保存。 7:添加了类别后就可以发表新闻了。 ps:如果主机是NT类的话,在安装...
标准通讯录源
程序
代码
在c++和dev c++下运行,可以
显示
中文
和其他语言。
aspseek.rar_c
cgi
_
cgi
_web
cgi
_搜索 引擎_机器人 技术 文档
它主要包括一个检索机器人,一个搜索守护
程序
,和一个搜索前端(
CGI
或者是Apache模块)。它大概可以检索几百万个URLs,来查找给定的短语和单词,并使用通配符,进行布尔搜索。搜索结果可以限定在给定的时间或站点,站点...
ASP.Net.Web
程序
设计
3、用JavaScript语言设计一个
程序
,判断用户输入的整数是正数、负数还是0。 var x=prompt("请输入一个数","0") if(x>0) {document.write("你输入的是正数")} else {if(x==0) {document.write("你输入的是...
Django_book_2_
中文
版.pdf
要回答这个问题,让我们来看看通过编写标准的
CGI
程序
来开发Web应用,这在大约1998年的时候非常流行。编写
CGI
Web应用时,你需要自己处理所有的操作,就像你想烤面包,但是都需要自己生火一样。下面是实例,一个简单...
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章