编译的代码如下:
#include <stdio.h>
int main()
{
printf("你好,世界!\n");
return 0;
}
默认的UTF-8编码会直接乱码:
博客:https://www.cnblogs.com/XieSir/articles/6694465.html 中给出的方法并不可行,按照里面的如下方法设置后:
结果无法通过编译:
错误提示是 cannot convert from UTF-8 to GBK(UTF-8不能转GBK),把编码设置更改成WINDOWS-936(即GBK),不在build设置中设置-fexec-charset=GBK -finput-charset=UTF-8,进行尝试:
结果可以编译,但是是和上面一样的乱码,说明编码没有改变:
在notepad++中测试:
发现UTF-8编码的“你好,世界!”转成ANSI后与上面乱码显示的一样,说明CodeLite中把编码设置改为WINDOWS-936之后,中文 “你好,世界!”仍然以UTF-8编码的格式保存,删除后重新输入“你好,世界!”,输出就正常了:
随后发现,编码转换之后,在workspace菜单中执行reload workspace操作,就会发现中文已经乱码了: