码迷,mamicode.com
首页 > 编程语言 > 详细

Python 2.7 学习笔记 中文处理

时间:2016-03-31 00:15:26      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:

首先我们在编写python代码文件时,文件本身会采用一种编码格式,如 utf-8 或 gbk

这时我们需要在python文件的开头设置文件的编码格式,以告诉编译器。

如果文件的编码格式是 utf-8, 则在文件的第一行需要添加如下语句

#coding=utf-8

如果文件的编码格式是 utf-8, 则在文件的第一行需要添加如下语句

#coding=gbk

如果设置为utf-8的格式,在linux执行,中文处理,包括显示没任何问题。

但是如果设置为utf-8的格式,在window下,在命令行下执行时,发现利用 print打印中文会出现乱码。

原因是因为,虽然文件声明为utf-8,且用utf-8的编码保存的源文件。但是windows的(www.111cn.net)本地默认编码是cp936,也就是gbk编码,所以在控制台直接打印utf-8的字符串就显示乱码了。 注意,实际上只是显示有问题,入库等处理并没问题。

这有两种解决方案。

一、方案一:

将文件的编码格式改为gbk,并在文件的第一行改为#coding=gbk,这时处理中文就没问题。

但这个方案带来的问题,如果该文件放到Linux下可能会显示出问题。因为一般linux机器下没有gbk的字符集。

 

二、方案二

文件还是采用utf-8的编码,文件头的第一行依然是#coding=utf-8

这时在print 中文时需要进行下编码,代码如:

print "中文".decode(‘utf-8‘).encode(sys.getfilesystemencoding())

注意:因为用到了sys模块,需要在语句执行添加 import sys

这样带来的问题,print语句比较臃肿,可以考虑自己封装下.

  

Python 2.7 学习笔记 中文处理

标签:

原文地址:http://www.cnblogs.com/51kata/p/5339448.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!