С помощью функции network.UrlRequest
для извлечения чего-либо с сайта.Возвращаемое значение содержит китайский символ.Все данные не кодируются UTF8
, в качестве альтернативы они сначала декодируются с использованием GBK
, а затем кодируются UTF8
;таким образом, данные могут быть обработаны гладко. Код хорошо работает на Windows, но после экспорта в APK и развертывания его на моем устройстве Android произошло исключение.
Я также пытался декодировать с помощью UTF8
напрямую или декодировать с типом gb1830
, они привели к сбою.
def getDataByUrl(self, novalname, search_url):
search = {'searchkey':novalname}
search = urllib.urlencode(search)
newurl = search_url + "?" + search
self.request = UrlRequest(newurl, self.res)
def res(self,*args):
try:
data = self.request.result.decode('GBK').encode('utf8')
except Exception, e:
print 'bbg: exception:', str(e)
bbg: exception: unknown encoding: GBK
так же, как декодировать с GB1830, каталог декодирования с utf8также не удалось.
при запуске на окнах данные будут выглядеть так:
笔
Интересно, нет ли GBK
введите в Android?