我使用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编码应该可以显示中文字符,但这在我的情况下不起作用。
答案 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')