我Codeblocks 编辑器文件编码格式一直用utf-8
最近在写一个windows程序,发现用windres编译出来的菜单乱码
菜单资源文件: menu.rc
菜单乱码
解决方法:
把资源文件里的注解打开,
#pragma code_page(65001)
指定代码页这个伪指令应该是给windres(windows资源编译器),告诉它资源文件是utf8编码
注:对于源代码的编译,不需要这样指定代码页,gcc可以透过选项-fexec-char=GBK来编译包含中文的源代码,
这样才能正确显示中文,和资源编译有点不太一样!
如果一开始我选择codeblocks代码编辑器编码格式为windows-936,那就不用这么麻烦了,不需要#pragma伪指令了!
PS: 需要更新windres.exe版本:)