python运行编码格式_Xcode下运行python的中文编码问题

最近预备用python来计算文本内容的频繁项集,因为电脑为MacBook,因此使用Xcode运行python程序,再python成功连接数据库后,跑出来的内容中中文为乱码,python中文编码历来是个比较麻烦的问题,在这里我记录下我遇到的问题与解决方法:

我的思路很简单:

1、Xcode下python中文编码哪种编码模式可以正常显示

2、目前的中文是什么编码?

3、如何转换为Xcode可以正常显示的中文编码

带着这个思路,开启了我中文编码解决之路:​

1、Python

也有两种字符串类型,str

与unicode,测试在Xcode中这两种类型是否可以正常显示,代码如下:

# -*- coding: utf-8 -*-

import

string

s

= '关关雎鸠'

u =

u'关关雎鸠'

print s

print u

运行结果如下:

关关雎鸠

Traceback (most recent call last):

File "main.py", line 6, in

print u

UnicodeEncodeError: 'ascii' codec can't encode characters in

position 0-3: ordinal not in range(128)

说明​unicode在Xcode下不能正常显示,而str可以正常显示,那么我们将所有的中文都有这种形式展现即可

2、了解目前系统的编码方式

​#

-*- coding: utf-8 -*-

import sys

reload(sys)

print

sys.getdefaultencoding()

​运行结果如下:

ascii​

系统是ascii编码方式

3、如何进行编码转换,两个 Python 字符串类型间可以用 encode / decode 方法转换:​

​decode:为从str转换成unicode

encode:为从unicode转换到str

刚刚分析了将unicode转换为str就可以正常在Xcode下正常显示了,试验如下:

# -*- coding: utf-8 -*-

import

string

s

= '关关雎鸠'

print s

u =

u'关关雎鸠'

print u.encode('utf-8')

运行结果如下:

关关雎鸠

关关雎鸠​

4、当如果你的中文编码已经是utf-8时,仍非正常输出,你可以使用一下万能的方式:

# -*- coding: utf-8 -*-

import

string

s

= '关关雎鸠'

print

s.decode('utf-8').encode('utf-8')

运行结果如下:

关关雎鸠

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值