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打包生成的程序显示正常。
希望对需要的人有用!!!

浙公网安备 33010602011771号