首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

wxWidgets的中文字符串不能施用UTF-8编码

2012-07-22 
wxWidgets的中文字符串不能使用UTF-8编码?有个wxWidgets的GUI程序,要打印写输出到控制台,而且有中文,所以

wxWidgets的中文字符串不能使用UTF-8编码?
有个wxWidgets的GUI程序,要打印写输出到控制台,而且有中文,所以我把CODEBLOCKS的编译设置中加如下:
-finput-charset=UTF-8

无wxWidgets GUI的程序中文输出正常,但加入wxWidgets的程序后,编译会报错:

converting to execution character set: Illegal byte sequence

报错地点为:
StaticText1 = new wxStaticText(Panel1, ID_STATICTEXT1, _("中文测试"), wxPoint(40,56), wxSize(96,80), 0, _T("ID_STATICTEXT1"));

凡是有 _("") 包含的中文编译都无法通过。

更奇怪的是如果把编译设置改为:
-finput-charset=GBK
编译就可以通过,但这时候控制台的中文输出又是乱码了。。。
请问这个该怎么解决才能让带有wxWidgets GUI的程序正确在控制台输出中文呢?

[解决办法]
要输出中文,需要将你的工程改用Unicode版本。
wxWidgets建议使用Unicode编码。
待wxWidgets 3.0发布后,更是强制使用Unicode编码。

如果要输出,建议使用wx的wxPuts。

热点排行