使用unicode内容调用w.stc.StyledTextCtrl.SaveFile时出现问题

时间:2013-12-12 00:10:31

标签: unicode wxpython wxwidgets wxstyledtextctrl

我有一个带有wx.stc.StyledTextCtrl文本编辑器的wxPython GUI。它的内容可能包含一些unicode字符,例如希腊字母。我注意到StyledTextCtrl.SaveFile()方法仅在内容没有unicode字符时才有效。否则,保存的文件最终成为空文件。

我尝试调用StyledTextCtrl.SetCodePage(stc.STC_CP_UTF8),但它也没有帮助。所以,我不太确定StyledTextCtrl代码中是否有错误,或者我错过了什么。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

保存代码使用wxConvCurrent,因此您可以尝试将其设置为wxConvUTF8以确保使用UTF-8,即使它不是当前区域设置的编码(在Windows下也不是这种情况) )。

不幸的是,我不确定您是否可以从Python更改wxConvCurrent。如果不能,最简单的解决方案可能是自己将wxStyledTextCtrl::GetValue()写入文件而不是依赖于SaveFile()方法。如果您这样做,请不要忘记在成功保存后致电SetSavePoint()