找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 5743|回复: 6

[代码与实例] python3调用百度号码归属地接口查询结果不显示中文

1

主题

3

帖子

13

积分

贫民

积分
13
航_Damon 发表于 2016-4-13 17:07:29 | 显示全部楼层 |阅读模式
这是我写的用python.X调用百度接口的代码,执行后不显示中文
import sys
import urllib.request


url = 'http://apis.baidu.com/apistore/mobilephoneservice/mobilephone?tel=18353131546'

req = urllib.request.Request(url)

req.add_header('apikey','【我自己的key】')

resp = urllib.request.urlopen(req)

content = resp.read().decode('utf-8')

print(content)

返回的结果:
b'{"errNum":0,"errMsg":"success","retData":{"telString":"18353131546","province":"\\u5c71\\u4e1c","carrier":"\\u5c71\\u4e1c\\u79fb\\u52a8"}}'

使用sys.getfilesystemencoding() 获得当前系统的默认编码是 mbcs

请问怎样才能使输出的结果为中文



回复

使用道具 举报

1

主题

3

帖子

13

积分

贫民

积分
13
航_Damon  楼主| 发表于 2016-4-13 17:52:17 | 显示全部楼层
有人在么 能帮忙解决一下么
回复 支持 反对

使用道具 举报

1

主题

3

帖子

13

积分

贫民

积分
13
航_Damon  楼主| 发表于 2016-4-14 09:01:11 | 显示全部楼层
木有人啊
回复

使用道具 举报

4

主题

77

帖子

77

积分

版主

Rank: 7Rank: 7Rank: 7

积分
77

活跃会员热心会员默默耕耘优秀版主论坛元老

北极 发表于 2016-5-27 23:46:35 | 显示全部楼层
reload(sys)
sys.setdefaultencoding('utf-8')

设置文件默认格式
回复 支持 反对

使用道具 举报

0

主题

1

帖子

1

积分

贫民

积分
1
阿杰 发表于 2016-9-7 10:15:32 | 显示全部楼层
中文编码问题,Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。
解决方法为只要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就行了。
回复 支持 反对

使用道具 举报

1

主题

5

帖子

5

积分

贫民

积分
5
akastuki~01 发表于 2016-9-30 12:15:15 | 显示全部楼层
并不是编码问题,把json解析出来就可以了。记得前边加import demjson
content = resp.read()
resp=demjson.decode(content)
print (resp)
回复 支持 反对

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2016-10-13 20:27:18 | 显示全部楼层
这个也是一种编码, unicode-escape

用如下语句可以解决:
print(b"\\u5c71\\u4e1c".decode('unicode-escape'))
山东
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表