标题:python 打印中文数组乱码解决方法 中文乱码解决方法

-------------------------------------------------------------------------------------------------------------------------------

时间:2012/11/29 19:35:02

-------------------------------------------------------------------------------------------------------------------------------

内容:

如果一个中文数组

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)