Python 2 cgi字段存储后变量编码

时间:2017-02-14 09:50:31

标签: python encoding cgi

我无法在任何地方获得这条信息。

有谁知道通过python cgi fieldstorage对象检索的字符串的编码是什么?

例如,我有这个html表单:

<!DOCTYPE html>
<html>
<link rel="stylesheet" type="text/css" href="style.css"/>
<body>
    <form id="mainForm" method="post" action="./uploadArticle.py">
        <input type="text" name="articletitle" /></br>
        <textarea name="articlebody" rows="50" cols="100"/></textarea></br>
    <input type="submit"/>
    </form>
</body>
</html>

我用apache处理这个python文件:

import cgi
form = cgi.FieldStorage()
title = form["articletitle"].value
content = form["articlebody"].value

标题和内容是否为utf8编码字符串?

1 个答案:

答案 0 :(得分:0)

这个问题显示了编码是什么的一点点混淆。

通过互联网收到的数据只是字节数。 Python无法知道它是什么“编码”;这完全取决于它是如何产生的。

在Python 3中,该数据将是一个字节串;在Python 2中,它将是一个字符串,但它们都没有内在编码。

如果您确实知道源编码,可以将其解码为unicode字符串; utf-8是一个很好的猜测,并且在大多数情况下会做正确的事情,但它可能是错误的。