python 打印中文数组乱码解决方法 中文乱码解决方法
如果一个中文数组
keys=[“武汉酒店”,”上海酒店”,”北京酒店”,”广州酒店”,”海南酒店”,”三亚酒店”]
打印单个元素的时候还可以
print keys[0]
武汉
但要打印整个数组的时候
print keys
[‘\xce\xe4\xba\xba\xbe\xc6\xb5\xea’, ‘\xc9\xcf\xba\xa3\xbe\xc6\xb5\xea’, ‘\xb1\xb1\xbe\xa9\xbe\xc6\xb5\xea’, ‘\xb9\xe3\xd6\xdd\xbe\xc6\xb5\xea’, ‘\xba\xa3\xc4\xcf\xbe\xc6\xb5\xea’, ‘\xc8\xfd\xd1\xc7\xbe\xc6\xb5\xea’]
就是乱码了
如果我像打印出 中文的数组这个是没法的
又因为decode只能作用在string字符串上
所以把在python中把数组转为字符串 然后再每个数据元素加一个换行符
通过split的逆方法就可以了
也就是join
“SperateCode”.join(listarray) 可以得到一个字符串
图中就是”\n”.join(keys) 就可以得到一个每个城市一行的数组
武汉酒店
上海酒店
北京酒店
广州酒店
海南酒店
三亚酒店
如果打印数组中元素的时候也是乱码
print keys[0]
一共3中
指定解码
beautifulsoup html参数后加from_encoding=””
如果要知道网站编码就用html.original_encoding 就可以知道
然后再strings.encode(“”)
就可以
beautifuouspu(html,from_encoding=”gbk”
code=soup.original_encoding
print soup.title.get_text().encode(code)
如果一个中文数组
keys=[“武汉酒店”,”上海酒店”,”北京酒店”,”广州酒店”,”海南酒店”,”三亚酒店”]
打印单个元素的时候还可以
print keys[0]
武汉
但要打印整个数组的时候
print keys
[‘\xce\xe4\xba\xba\xbe\xc6\xb5\xea’, ‘\xc9\xcf\xba\xa3\xbe\xc6\xb5\xea’, ‘\xb1\xb1\xbe\xa9\xbe\xc6\xb5\xea’, ‘\xb9\xe3\xd6\xdd\xbe\xc6\xb5\xea’, ‘\xba\xa3\xc4\xcf\xbe\xc6\xb5\xea’, ‘\xc8\xfd\xd1\xc7\xbe\xc6\xb5\xea’]
就是乱码了
如果我像打印出 中文的数组这个是没法的
又因为decode只能作用在string字符串上
所以把在python中把数组转为字符串 然后再每个数据元素加一个换行符
通过split的逆方法就可以了
也就是join
“SperateCode”.join(listarray) 可以得到一个字符串
图中就是”\n”.join(keys) 就可以得到一个每个城市一行的数组
武汉酒店
上海酒店
北京酒店
广州酒店
海南酒店
三亚酒店
如果打印数组中元素的时候也是乱码
print keys[0]
一共3中
指定解码
beautifulsoup html参数后加from_encoding=””
如果要知道网站编码就用html.original_encoding 就可以知道
然后再strings.encode(“”)
就可以
beautifuouspu(html,from_encoding=”gbk”
code=soup.original_encoding
print soup.title.get_text().encode(code)