Найти - Пользователи
Полная версия: wx.html.HtmlWindow
Начало » GUI » wx.html.HtmlWindow
1
hellslade
привет! вообщем проблема с кодировкой. пишу вот так:
# -*- 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()
и вот то самое русское “привет” отображается каракулями. может контролу как-то явно указать кодировку? но не могу найти где это сделать. может кто сталкивался, помогите, плиз
hellslade
на работе проверил этот же код, все нормально отображается. в чем может быть проблема?
Striver
Я сейчас проверял у себя в винде, у меня тоже нормально отобразилось.
А версия 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-браузер просто не умеет с кодировками работать. Поправьте меня кто-нибудь, если я ошибаюсь…
hellslade
Striver
wx не юникодная, версии 2.8.7.1
у меня дома стоит все тоже самое что и на работе. тех же версий, вплоть до последней циферки :)
приду домой попробую еще поколдовать с кодировками :)
Yugo
Попробуй вот так:
<meta http-equiv=“Content-Type” content=“text/html; charset=windows-1251”>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB