Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 2, 2008 19:17:01

hellslade
От:
Зарегистрирован: 2008-01-28
Сообщения: 240
Репутация: +  0  -
Профиль   Отправить e-mail  

wx.html.HtmlWindow

привет! вообщем проблема с кодировкой. пишу вот так:

# -*- 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()
и вот то самое русское “привет” отображается каракулями. может контролу как-то явно указать кодировку? но не могу найти где это сделать. может кто сталкивался, помогите, плиз



Офлайн

#2 Июнь 3, 2008 08:31:36

hellslade
От:
Зарегистрирован: 2008-01-28
Сообщения: 240
Репутация: +  0  -
Профиль   Отправить e-mail  

wx.html.HtmlWindow

на работе проверил этот же код, все нормально отображается. в чем может быть проблема?



Офлайн

#3 Июнь 3, 2008 08:51:37

Striver
От:
Зарегистрирован: 2006-10-26
Сообщения: 247
Репутация: +  22  -
Профиль   Отправить e-mail  

wx.html.HtmlWindow

Я сейчас проверял у себя в винде, у меня тоже нормально отобразилось.
А версия 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-браузер просто не умеет с кодировками работать. Поправьте меня кто-нибудь, если я ошибаюсь…



Офлайн

#4 Июнь 3, 2008 09:27:55

hellslade
От:
Зарегистрирован: 2008-01-28
Сообщения: 240
Репутация: +  0  -
Профиль   Отправить e-mail  

wx.html.HtmlWindow

Striver
wx не юникодная, версии 2.8.7.1
у меня дома стоит все тоже самое что и на работе. тех же версий, вплоть до последней циферки :)
приду домой попробую еще поколдовать с кодировками :)



Офлайн

#5 Июль 23, 2009 06:40:55

Yugo
От:
Зарегистрирован: 2009-07-16
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

wx.html.HtmlWindow

Попробуй вот так:
<meta http-equiv=“Content-Type” content=“text/html; charset=windows-1251”>



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version