关于字符编码问题

`data = requests.get('http://zhuanzhuan.58.com/deta...').content
soup = BeautifulSoup(data,'lxml')
title = soup.select('.box_left_top h1')[0].text.encode('utf-8')
print type(title)
print title
data = {

'title':title

}
print data
`clipboard.png

clipboard.png

请问如何使得在打印data时能够正常显示汉字

谢谢

阅读 3.8k
6 个回答
data = {
    "title": "魅族 32G 魅蓝note5"
}
import json
print(json.dumps(data, ensure_ascii=False, encoding="utf-8"))
chcp 65001

在终端直接输就可以了。

ლ(╹◡╹ლ),嗯,可能可以吧,恩?

.encode('utf-8')试一下

用python3,就没这些烦恼了

Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 26 2016, 12:10:39)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from bs4 import BeautifulSoup
>>> import requests
>>> data = requests.get('http://zhuanzhuan.58.com/detail/807158202296418308z.shtml').content
>>> soup = BeautifulSoup(data,'lxml')
>>> title = soup.select('.box_left_top h1')[0].text.encode('utf-8')
>>> print type(title)
<type 'str'>
>>> print title
魅族  32G 魅蓝note5
>>> test_data = {'title':title}
>>> print test_data
{'title': '\xe9\xad\x85\xe6\x97\x8f  32G \xe9\xad\x85\xe8\x93\x9dnote5'}
>>> print repr(test_data).decode("unicode-escape")
{'title': u'魅族  32G 魅蓝note5'}

方法可行,感谢

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题