我有一个带有wx.stc.StyledTextCtrl文本编辑器的wxPython GUI。它的内容可能包含一些unicode字符,例如希腊字母。我注意到StyledTextCtrl.SaveFile()方法仅在内容没有unicode字符时才有效。否则,保存的文件最终成为空文件。
我尝试调用StyledTextCtrl.SetCodePage(stc.STC_CP_UTF8),但它也没有帮助。所以,我不太确定StyledTextCtrl代码中是否有错误,或者我错过了什么。任何帮助表示赞赏。
答案 0 :(得分:0)
保存代码使用wxConvCurrent
,因此您可以尝试将其设置为wxConvUTF8
以确保使用UTF-8,即使它不是当前区域设置的编码(在Windows下也不是这种情况) )。
不幸的是,我不确定您是否可以从Python更改wxConvCurrent
。如果不能,最简单的解决方案可能是自己将wxStyledTextCtrl::GetValue()
写入文件而不是依赖于SaveFile()
方法。如果您这样做,请不要忘记在成功保存后致电SetSavePoint()
。