贴一下今天python中文乱码问题解决办法。
2013-03-12 12:21
746 查看
#!/usr/bin/env python #coding:utf-8 import wx class InputDialog ( wx.Dialog ): def __init__( self, parent ): wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"调整信息输入", pos = wx.DefaultPosition, size = wx.Size( 535,135 ), style = wx.DEFAULT_DIALOG_STYLE ) self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize ) self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize ) bSizer1 = wx.BoxSizer( wx.VERTICAL ) bSizer2 = wx.BoxSizer( wx.HORIZONTAL ) self.m_timeRadio = wx.RadioButton( self, wx.ID_ANY, u"输入时间:", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer2.Add( self.m_timeRadio, 0, wx.ALL, 5 ) self.m_datePicker = wx.DatePickerCtrl( self, wx.ID_ANY, wx.DefaultDateTime, wx.DefaultPosition, wx.DefaultSize, wx.DP_DEFAULT ) bSizer2.Add( self.m_datePicker, 0, wx.ALL, 5 ) self.hoursLabel = wx.StaticText( self, wx.ID_ANY, u"时:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.hoursLabel.Wrap( -1 ) bSizer2.Add( self.hoursLabel, 0, wx.ALL, 5 ) self.m_hoursTextCtrl = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 70,-1 ), 0 ) bSizer2.Add( self.m_hoursTextCtrl, 0, wx.ALL, 5 ) self.minnutesLabel = wx.StaticText( self, wx.ID_ANY, u"分:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.minnutesLabel.Wrap( -1 ) bSizer2.Add( self.minnutesLabel, 0, wx.ALL, 5 ) self.m_minutesTextCtrl = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 70,-1 ), 0 ) bSizer2.Add( self.m_minutesTextCtrl, 0, wx.ALL, 5 ) self.secondsLabel = wx.StaticText( self, wx.ID_ANY, u"秒:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.secondsLabel.Wrap( -1 ) bSizer2.Add( self.secondsLabel, 0, wx.ALL, 5 ) self.m_secondsTextCtrl = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 70,-1 ), 0 ) bSizer2.Add( self.m_secondsTextCtrl, 0, wx.ALL, 5 ) bSizer1.Add( bSizer2, 0, wx.EXPAND, 5 ) bSizer3 = wx.BoxSizer( wx.HORIZONTAL ) self.m_normalInfoRadio = wx.RadioButton( self, wx.ID_ANY, u"常用信息输入:", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer3.Add( self.m_normalInfoRadio, 0, wx.ALL, 5 ) self.m_normalInfoTextCtrl = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 300,-1 ), 0 ) bSizer3.Add( self.m_normalInfoTextCtrl, 0, wx.ALL, 5 ) bSizer1.Add( bSizer3, 0, wx.EXPAND, 5 ) bSizer1.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) bSizer4 = wx.BoxSizer( wx.HORIZONTAL ) bSizer4.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 ) self.m_btnOk = wx.Button( self, wx.ID_OK, u"确定", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer4.Add( self.m_btnOk, 0, wx.ALL, 5 ) self.m_btnCancel = wx.Button( self, wx.ID_OK, u"取消", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer4.Add( self.m_btnCancel, 0, wx.ALL, 5 ) bSizer1.Add( bSizer4, 0, wx.EXPAND, 5 ) self.SetSizer( bSizer1 ) self.Layout() self.Centre( wx.BOTH ) self.Centre( wx.BOTH ) def __del__( self ): pass if __name__ =='__main__': app = wx.App() dlg = InputDialog(None) dlg.Show() app.MainLoop()
代码如上, 就是一个小小的简单的 对话框显示问题,里面有中文,但是显示乱码。
首先人为编码不对,在文件头什么为utf-8了:
#!/usr/bin/env python
#coding:utf-8
然后运行,还是乱码,然后以为文件不是没保存为utf-8 查看。
在项目中选中该文件,如 InputDialog.py , 右键- > 属性 ->resource -> text file encoding
然后确定是一样的,还不行,为什么呢。后来想了想,直接把代码先暂时拷贝到一个临时文件里面去,然后把InputDialog.py这个文件删除,
干脆重新建立一个新的空InputDialog.py ,先用上面的方法看了下,默认格式为GBK。额,然后我改为UTF-8 , 然后把原来的代码拷贝
进来,运行,没乱码问题了,搞定,不过还是没知道为什么这么就可以了。
相关文章推荐
- python写入csv文件中文乱码问题解决办法
- 关于python中文乱码的一些问题和解决办法
- Python插入时中文乱码问题的解决办法
- Python下调用json.dumps中文显示问题解决办法
- 基于python发送邮件的乱码问题的解决办法
- PHP Ajax JSON中文乱码各种问题解决办法
- IntelliJ IDEA 中文乱码问题解决办法
- 文件下载 response.setHeader()下载中文文件名乱码问题 解决办法
- linux 下 自己写的 html文件产生中文乱码问题 解决办法
- C# asp.net页面通过URL参数传值中文乱码问题解决办法
- IE 浏览器js 中文传参出现乱码问题的解决办法
- Spring Web应用中文乱码的问题解决办法
- python2.7使用logging模块记日志,中文记入后乱码解决办法
- java中FileOutputStream中文乱码问题解决办法
- ReadString在UNICODE下中文乱码的解决办法(Char型字符和Unicode字符的转换问题)
- Eclipse weblogic 中文乱码问题解决办法
- python BeautifulSoup解决中文乱码问题
- 常见php与mysql中文乱码问题解决办法
- C# asp.net页面通过URL参数传值中文乱码问题解决办法
- python读取\t\n的文件转换成html表格发送邮件(解决中文乱码问题)