#coding=utf-8 import re import urllib.request html = urllib.request.urlopen("http://study.163.com/").read().decode('utf-8') print(type(html)) print(html)
报错 UnicodeEncodeError: 'ascii' codec can't encode characters in position 595-599: ordinal not in range(128) 如果不出现中文可以输出,出现中文就报错, windows 就没有这个问题。 请问下如何解决? 谷歌能搜的搜了。。
1
msg7086 2016-06-24 05:49:21 +08:00
下一次记得把标题里的 linux 改成 python ……
|
2
nankingpython OP @msg7086 忘写了。。。:P
|
3
echo1937 2016-06-24 07:02:27 +08:00 via iPhone
下一次改成 python 2
|
4
nankingpython OP @echo1937 不是 python3 好点吗,默认是 utf8
|
5
hanxiV2EX 2016-06-24 08:07:03 +08:00 via iPhone
不是 Linux 的锅,是 pyhton
|
6
EPr2hh6LADQWqRVH 2016-06-24 08:22:47 +08:00
从网上读下来的数据属于二进制数据, Bytes, 不要预设它是文本数据,你不知道它真正的编码是啥
|
7
NxnXgpuPSfsIT 2016-06-24 08:30:56 +08:00
print(html.encode(sys.stdin.encoding, 'ignore'))
|
8
imn1 2016-06-24 10:42:23 +08:00
linux 才容易
你试试在简体 windows ,建一个韩文目录,然后用 python 以外语言去读一下? |
9
nankingpython OP @avastms python3 urllib2 默认的是 str 吧
|