python + pyqt4 中文显示

来源:互联网 发布:淘宝老版下载 编辑:程序博客网 时间:2024/05/20 19:18

    使用python有一段时间了,中文显示乱码这个问题让我苦恼了很长时间,之前因为很少使用到就没怎么在意,最近由于需要在不同的平台上运行python程序,中文显示这个问题变得相当棘手,所以就写篇文章将最近获取的网络信息保存,以便以后查询。

    我的第一开发环境是ubuntu10.04,因为之前是写java的对eclipse情有独钟,所以python的IDE依然使用eclipse,版本是最新的juno。环境配置这里不说,下面开始中文字符问题。

    首先遇到的问题是中文输出,使用范围是,程序调试,界面按钮名称等界面显示。当时的解决方案是在包含中文的python文件开头加上一行代码:

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

                在需要使用中文的时候通过unicode转换,如在pyqt界面中设置标题:self.setWindowTitle(unicode('忻之乐园'))

                或者直接用u来代替unicode,如:self.setWindowTitle(u'欢乐无国界')


    这中处理方式已经满足了我在eclipse上开发上对中文的使用,之后在win系列上配置调试环境,依然使用eclpse作为主要的IED,依然没有什么问题。但当使用win的终端命令行运行程序的时候,乱码出现了,给网上搜了下找到了一个解决方案,如下:

                在主文件的开头加上上面的代码后,添加如下代码:

                import sys

                reload(sys)

                sys.setdefaultencoding('utf8')

    这样当通过命令行运行主文件的时候就没有错误。除此之外发现还出现了其它问题,当我将eclipse生成的代码打包发送到另一个电脑上运行时解压后直接使用命令行运行程序或者使用记事本,写字板打开里面的中文就会乱码,但使用eclipse打开就OK,没有问题。这个原因还在找。


原创粉丝点击