使用进行urlencode的梵文文本(Using urlencode for Devanagari

2019-09-28 02:06发布

下面的代码:

import simplejson,urllib,urllib2  

query=[u'नेपाल']
urlbase="http://search.twitter.com/search.json"
values={'q':query[0]}
data=urllib.urlencode(values)
req=urllib2.Request(urlbase,data)
response=urllib2.urlopen(req)
json=simplejson.load(response)
print json

抛出异常:

SyntaxError: Non-ASCII character '\xe0' in file ques.py on line 3, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

代码工作,如果query包含标准的ASCII字符。 我试图寻找建议的链接,但无法弄清楚如何为梵文字符编码指定。

Answer 1:

您需要将UTF-8头添加到您的文件来告诉Python解释器有Unicode的文字。 您也可以编码参数为UTF-8。 这里有一个工作版本:

# -*- coding: utf-8 -*-
import simplejson,urllib,urllib2  

query=[u'नेपाल']
urlbase="http://search.twitter.com/search.json"
values={'q':query[0].encode('utf-8')}
data=urllib.urlencode(values)
req=urllib2.Request(urlbase,data)
response=urllib2.urlopen(req)
json=simplejson.load(response)
print json


文章来源: Using urlencode for Devanagari text
标签: python urllib