我没找到能支持中文的办法。utf-8也不行。

不过,可以用Html实体字符来使它支持。

php可以方便的转换实体字符

echo mb_convert_encoding ("一次", "HTML-ENTITIES", "gb2312");

以下是目前仅能找到的讨论。

PS:感谢稻草人兄的帮助。

-------------------------------------------------------------------------------

你可以先type(source)看一下它是不是unicode,如果是应该转成utf-8就对了。还
有可以输出到一个文件中使用浏览器看一看有没有问题。

Hong Yuan wrote:
> 如何知道送到iehtml的是utf-8呢?我在LoadString中使用了source.encode('utf-
> 8'),print type(source.encode('utf-8'))的返回是<type 'str'>,但它究竟是
> 不是正确的utf8编码这个如何知道呢?
如何知道送到iehtml的是utf-8呢?我在LoadString中使用了source.encode('utf-
8'),print type(source.encode('utf-8'))的返回是<type 'str'>,但它究竟是
不是正确的utf8编码这个如何知道呢?

我的处理与你以前的一样。但我的意思是,在送到iehtml之间一定要保证它是utf-
8的。因此你可以先看一看你的信息是否是unicode还是utf-8。

Hong Yuan wrote:
> 我做了些能想到的修改,如:
>
> self.htmlctrl.LoadString(source.encode('utf-8'))
> self.htmlctrl.SetCharset('utf-8')
> source = u"...."
>
> 但显示还是乱码。
>
> limodou wrote:
>
>> 要保证你的html代码是utf-8才可以。象这样我想你得到的可能是unicode。试着
>> 转 成utf-8试一试。
>>
>> Hong Yuan wrote:
>>
>>>
>>> limodou wrote:
>>>
>>>> HTMLWindow是 wxPython自已的控制不是用的IE。在wxPython还提供对ie的
>>>> activex 的访问。可以参考我的NewEdit中mixins/HtmlPage.py中的做法。在
>>>> NewEdit中当系统是windows平台时,显示html是使用ie来完成的。如果是unix
>>>> 环 境是使用 htmlwindow来实现的。
>>>>
>>> 我测了一下IEHtmlWindow,但中文显示是乱码,有什么地方错了吗?
>>>
>>> #!/usr/bin/env python
>>> # -*- coding: utf-8 -*-
>>>
>>> import wx
>>> import wx.lib.iewin as iewin
>>>
>>> class MyApp(wx.App):
>>>    def OnInit(self):
>>>        self.frame = wx.Frame(None)
>>>        self.htmlctrl = iewin.IEHtmlWindow(self.frame)
>>>        self.htmlctrl.LoadString(source)
>>>
>>>        self.SetTopWindow(self.frame)
>>>        self.frame.Show()
>>>        return True
>>>
>>> source = """<html>
>>> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
>>> 【中文测试】</html>
>>> """
>>> app = MyApp(0)
>>> app.MainLoop()
>>>

Posted on 2009-02-24 09:24  古代  阅读(835)  评论(1编辑  收藏  举报