使用cURL写入网页后,中文字符以不同的编码显示

时间:2015-04-08 17:33:44

标签: python curl encoding utf-8

我使用cURL在URL编码后将中文字符注入我的网页,如下所示:

rep_keywords = urllib.quote(unicode(keywords).encode("utf-8"))
subprocess.Popen(['curl','-u', 'admin:admin','-X','POST','--data',"metacustom="+rep_keywords, ""+path])

字符编码如下:

%E7%BC%96%E8%AF%91%E9%94%99%E8%AF%AF%EF%BC%

但是,在网页上,它们显示如下:

æ ¼æ‹‰

我在这个问题上读到的每篇帖子都提到UTF-8编码应该可以显示中文字符,但这在我的情况下不起作用。

1 个答案:

答案 0 :(得分:0)

我的POST请求中的charset格式有所不同。另外,使用'-F'(在表单中指定多部分POST数据)而不是'-d'。这是我的代码:

subprocess.Popen(['curl','-u', 'admin:admin','-F','_charset_=UTF8','-F',"metacustom="+rep_keywords, ""+path])

在发布请求之前,将unicode字符串编码为utf-8:

rep_keywords = keywords.encode('utf8')