+ -
当前位置:首页 → 问答吧 → 请教:python CGI编程中的中文编码问题

请教:python CGI编程中的中文编码问题

时间:2010-10-19

来源:互联网

正在学python CGI编程,我的环境是用IIS7配置好CGI后 + python3.1

静态表单页 f2.htm 的源码是:

<HTML>
<HEAD><TITLE>Friends CGI Demo (static screen)</TITLE></HEAD>
<BODY>
<FORM ACTION="/friends2.py">
<B>Enter your Name:</B>
INPUT TYPE=text NAME=person VALUE="李四" SIZE=15>
<INPUT TYPE=submit></FORM>
</BODY>
</HTML>

处理提交信息的文件friends2.py 源码如下:
#coding=utf-8
import cgi

reshtml = '''Content-Type: text/html\n
<HTML><HEAD><TITLE>
Friends CGI Demo (dynamic screen)
</TITLE></HEAD>
<BODY>
Your name is: <B>%s</B><P>
</BODY></HTML>'''

form = cgi.FieldStorage()
who = form['person'].value

print( reshtml % who)

这个程序如果表单提交的是英文、数学都可以正常运行。如果是中文的话,就会出错,信息如下:
HTTP 错误 502.2 - Bad Gateway
指定的 CGI 应用程序由于未返回完整的一组 HTTP 头而产生错误行为。它实际返回的头是“Traceback (most recent call last): File "C:\inetpub\wwwroot\friends2.py", line 16, in <module> print( reshtml % who) UnicodeEncodeError: 'gbk' codec can't encode character '\ufffd' in position 119: illegal multibyte sequence ”。

请大侠们出手相助,要怎样写才对。

作者: fsldn   发布时间: 2010-10-19

关注,,,,关注。。。

作者: insisted_search   发布时间: 2010-10-19

热门下载

更多