wxfb不管是正式版,还是3.1测试版,当界面中存在汉字时,将只能输出UTF-8格式:而我的代码格式都是ANSI。
到wxfb论坛上反馈,发现已经存在一个补丁。
于是svn checkout代码,再应用补丁,发现抛出异常。于是修改转换代码,发现转换成功,却不能正常工作。只好简单的跟踪下,用了一个不太好的办法,但总算解决问题。
有兴趣的朋友可以下载我编译好的版本:http://www.qpsoft.com/downloads/wxfb.7z
修正wxFormBuilder不输出ANSI格式 Topic is solved
修正wxFormBuilder不输出ANSI格式
Life is not fair, get used to it.
在2009-01-21 08:50:55之前下载的朋友请重新下载:有点小问题,转换不全,已修正,代码如下:
另,为什么会抛出异常呢?是因为转换后容量变大了,所以内存越界?
Code: Select all
std::string TypeConv::_WxStringToAnsiString(const wxString &str)
{
// std::string newstr( str.mb_str(wxConvISO8859_1) );
setlocale(LC_ALL, "");
size_t len = wcstombs(NULL, str.c_str(), 0);
std::vector<char> buf(len + 1);
wcstombs(&buf[0], str.c_str(), len);
return std::string(&buf[0]);
}
Code: Select all
std::string newstr( str.mb_str(wxConvISO8859_1) );
Life is not fair, get used to it.