Python和py2exe的中文乱码问题解决方法

这两天学习python遇到这个问题,根据网上的几个方法再根据我的情况,将解决方法总结如下:

1、写一个名为sitecustomize.py的文件,把它放在Python27下的Lib下site-packages目录中。sitecustomize.py是一个特殊的文件,Python在启动时会自动导入它。该文件中的语句同时会执行。在sitecustomize.py中的语句sys.setdefaultencoding('UTF-8')的作用是将默认编码设置为UTF-8,这样使用中文时就不会出现UnicodeError错误。sitecustomize.py示例如下:

#!/usr/bin/python

import sys

sys.setdefaultencoding('UTF-8')

2、py2exe的打包时中文乱码问题解决方案,如果你使用了sitecustomize.py文件,那么如果你的源程序中含有中文,则打包时要在源程序中加上import sitecustomize这句。

3、在每个含有中文的py文件中的开头加上#-*- encoding:UTF-8 -*-

 4、将需要打包的源文件内的中文输出和输入全部改写为以下的格式:  

# 输出​

print unicode('成功:','utf-8')     

print unicode(strName,'utf-8')      #strName 是字符串        

# 输入​

n=raw_input(unicode('请输入文字','utf-8').encode('gbk'))     

print n 

输入的这种情况,pycharm中运行时乱码,但是通过py2exe打包生成的程序显示正常。​

希望对需要的人有用!!!​

posted @ 2017-07-18 17:08  劈山震海  阅读(178)  评论(0)    收藏  举报