加入收藏 | 设为首页 | 会员中心 | 我要投稿 牡丹江站长网 (https://www.0453zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Python 2.7中文显示与解决

发布时间:2021-12-07 13:37:19 所属栏目:教程 来源:互联网
导读:在学习使用Python的过程中,一定会遇到文字输入与处理,这就不可避免的会使用中文字符。但是Python2.7默认使用的字符集是ASCII,并不支持中文字符的显示与处理,因些如果要在Python中处理中文就需要进行一些额外的处理。 一、在开头处声明Python使用UTF-8编码
在学习使用Python的过程中,一定会遇到文字输入与处理,这就不可避免的会使用中文字符。但是Python2.7默认使用的字符集是ASCII,并不支持中文字符的显示与处理,因些如果要在Python中处理中文就需要进行一些额外的处理。
 
一、在开头处声明Python使用UTF-8编码显示字符
#/usr/bin/env python
# -*- coding: UTF-8 -*-
但这样做,只是让你的程序在运行的过程中显示中文,如果你要将中文字符存储在文件中,或者写入到数据库中,这样的设置是不能满足你的需要。
 
二、设置系统默认字符编码
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
也许是Python的bug在import sys后必须再一次reload(sys),下面去设置默认字符编码的语句才能生效。
 
三、遇到需要处理中文的地方,就随时进行UTF-8编码
经常会遇到的是,进行了第一步和第二步设置后,还是无法正常显示和处理中文字符,这时也只能随用随编码了。
假设待处理字符串为string
使用下面的语句进行utf-8编码:
 
string.encode('utf-8')
使用下面的语句进行utf-8解码:
 
unicode(string, encoding='utf-8')
如果为了方便可以将上面二个语句写成方法随时调用:
 
def encode_utf8(string):
    return string.encode('utf-8')
 
def decode_utf8(string)
    return unicode(string, encoding='utf-8')

(编辑:牡丹江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!