Форум сайта python.su
привет! вообщем проблема с кодировкой. пишу вот так:
# -*- coding: cp1251 -*- import wx import wx.html html_text = """ <html> <Content-type: text/html; charset=Windows-1251\n\n> <body> <pre> привет </pre> </body> </html> """ class MyFrame(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, title="title", size=(500,300) ) self.panel = wx.Panel(self) sizer = wx.BoxSizer(wx.VERTICAL) html = wx.html.HtmlWindow(self.panel) sizer.Add(html, proportion=1, flag = wx.EXPAND|wx.ALL, border=0 ) self.panel.SetSizer(sizer) html.SetPage(html_text) class MyApp(wx.App): def __init__(self): wx.App.__init__(self, True, 'log.txt') def OnInit(self): self.frame = MyFrame() self.frame.Show() return True if __name__ == "__main__": app = MyApp() app.MainLoop()
Офлайн
на работе проверил этот же код, все нормально отображается. в чем может быть проблема?
Офлайн
Я сейчас проверял у себя в винде, у меня тоже нормально отобразилось.
А версия wx какая, уникодная или нет? У меня работает в НЕуникодной.
Для эксперимента переделал файл в utf-8, и поменял в файле отметки о кодировках. Стало выдавать каракули того вида, когда уникодный файл в анси смотришь.
Потом поменял запись про кодировку в тексте html (стырил из заголовка гугловской страницы):
<head>
<meta http-equiv=content-type content=“text/html; charset=UTF-8”>
</head>
Каракули остались, но кроме этого, стало вылазить сообщение об ошибке “Failed to display HTML document in UTF-8 encoding”. Впечатление такое, что wx-браузер просто не умеет с кодировками работать. Поправьте меня кто-нибудь, если я ошибаюсь…
Офлайн
Striver
wx не юникодная, версии 2.8.7.1
у меня дома стоит все тоже самое что и на работе. тех же версий, вплоть до последней циферки :)
приду домой попробую еще поколдовать с кодировками :)
Офлайн
Попробуй вот так:
<meta http-equiv=“Content-Type” content=“text/html; charset=windows-1251”>
Офлайн