今天在学习写wxPython时,终于遇到了python中“历史悠久”的编码方式的问题,很普遍,但是我不会,也相信很多新手也不会,呵呵,故记录之,也想做这样一个简单的系列文章,希望能够把编码方式的问题搞清楚。
IDE使用国人python高手的杰作UliPad ,作者:limodou. 先看源代码:
==>Main.py
#!/usr/bin/env python
#coding=utf-8
import wx
class MainFrame(wx.Frame):
""" """
def __init__(self):
wx.Frame.__init__(self, None, -1, "Main Frame", size=(300, 300))
panel = wx.Panel(self,-1)
wx.StaticText(panel,-1,"图片路径:",pos=(10,12))
self.left,self.top,self.left,self.top = 0,0,0,0 # set the init mouse value
def main():
app = wx.PySimpleApp()
frame = MainFrame()
frame.Show(True)
app.MainLoop()
main()
执行后提示错误:
UnicodeDecodeError: 'cp950' codec can't decode bytes in position 0-1: illegal multibyte sequence
从字面看应该是编码出了问题,google后发现解决方法 ,没有很深入的探究,再说一深入我就晕,呵呵,先解决问题再说.
解决方案:"图片路径:".decode('utf-8').encode('cp950')