python中输出结果乱码怎么解决?

python输出中文乱码的解决方案:
1、添加源代码文件的第一行#-*-coding:utf-8-*-或#encoding=utf-8 或#encoding=UTF-8
注:一定要在第一行!
python2第一行不加#-*-coding:utf-8-*-输出以下错误:
File "ex1.py", line 16
SyntaxError: Non-ASCII character '\xe8' in file ex1.py on line 16, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
2、在字符串前加入 ‘u’
3、如果上述两种方法仍然不能保证中文的正常输出,则需要编码解码设置
encode: 编码(真实字符与二进制串对应,真实字符→二进制串)
decode: 解码(二进制串与真实字符的对应关系,二进制串→真实字符)
以下是几种常用的编码方法:
UTF-8:Unicode Transformation Format-8bit允许包含BOM,但通常不包含BOM。它是一种多字节编码,用于解决国际字符。它用8位英语(即一个字节)和24位中文(三个字节)编码。
UTF-8包含世界各国需要使用的字符,是国际编码,通用性强。UTF-8代码的文本可以显示在各国支持UTF8字符集的浏览器上。例如,如果是UTF8代码,中文也可以显示在外国人的英文IE上。他们不需要下载IE的中文语言支持包。
GBK是国家标准GB2312扩容后与GB2312兼容的标准。GBK的文字编码是用双字节表示的,即中英文字符都是用双字节表示的。为了区分中文,将其最高水平设置为1。GBK包含所有中文字符,是国家编码,通用性比UTF8差,但UTF8占用的数据库比GBK大。
GBK、Unicode编码必须在GB2312和UTF8之间进行转换:
GBK、GB2312<===>Unicode<===>UTF8。这一点非常关键,即两种不同的编码方法之间的相互转换,以Unicode编码为桥梁。
请关注Python自学网了解更多Python知识。
