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

prhanxben 2010-08-25 02:18:22
有个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的程序正确在控制台输出中文呢?
...全文
622 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
l360220954 2012-07-04
  • 打赏
  • 举报
回复
介绍详细点好吗,那个-finput-charset=GBK是怎么加上的,要加在哪里呢?
c1230v 2011-09-30
  • 打赏
  • 举报
回复
这也给分,纯瞎扯了两句,没有任何实际内容
老邓 2010-08-25
  • 打赏
  • 举报
回复
要输出中文,需要将你的工程改用Unicode版本。
wxWidgets建议使用Unicode编码。
待wxWidgets 3.0发布后,更是强制使用Unicode编码。

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

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧