error converting to execution character set illegal byte sequence报错解决办法

本文介绍了在使用CodeBlocks编程时遇到的'converting to execution character set illegal byte sequence'错误,问题根源在于Windows默认GBK编码与GCC的UTF-8编码不匹配。解决方案包括在设置中修改编译器和编辑器的字符集选项,以及将代码文件保存为UTF-8格式。通过调整这些设置,可以避免编译错误和中文乱码。

       今天在codeblocks美滋滋写完一个程序后,发现编译时老是报错:error converting to execution character set illegal byte sequence。然后百度一搜,说是Windows(中文)默认的字符集是Windows-936(GBK),而GCC编译器默认编译的时候是按照UTF-8解析的,当未指定字符集时一律当作UTF-8进行处理。所以要在settings->compiler->Global compiler settings->Other options添加 

-fexec-charset=GBK
-finput-charset=UTF-8

        前者表示编译的时候输入文件的编码解释格式,后者表示生成的执行文件执行的时候显示用的编码格式。

       同时。要在settings->Editor->gernal settings->Other settings,这里将默认保存的文件编码格式设置为UTF-8,保持两边编码格式相同。 

       但是我这样做了以后发现还是没用。。。后来才发现是我的程序不知道啥时候被我改成了ANSI格式 ,所以一直要么编译错误,要么中文乱码。

       要解决这个问题,可以用记事本打开代码文件,选择左上角的文件->另存为,如何选择UTF-8的编码格式保存即可。

本文参考博客:CodeBlocks 中文乱码"converting to execution character set illegal sequence"_蛋叔(公众号同名)的博客-优快云博客

C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp In function 'void handleSuspiciousFile(const string&)': 441 105 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] cannot convert 'const char*' to 'LPCWSTR {aka const wchar_t*}' for argument '3' to 'int MessageBoxW(HWND, LPCWSTR, LPCWSTR, UINT)' 450 35 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 450 101 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp In function 'void scanPath(const string&)': 464 18 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 476 26 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 488 30 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp In function 'void scanCurrentDir()': 506 14 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 509 14 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 509 56 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 509 96 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp In function 'void scanCustomDir()': 513 14 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 518 14 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 521 14 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 521 56 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 521 96 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp In function 'void scanAllDrives()': 526 14 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 532 26 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 535 53 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 536 26 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 536 64 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp In function 'void startRealTimeMonitor()': 596 18 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 600 14 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 606 18 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 613 18 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 616 18 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp In function 'void stopRealTimeMonitor()': 623 18 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 632 14 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp In function 'void checkCriticalProcesses()': 655 48 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp In function 'void checkAutoRun()': 678 35 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 679 25 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp In function 'bool isNetUserCalledRecently()': 706 54 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 706 85 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp In function 'void checkRemoteThreadInjection()': 738 47 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 739 37 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp In function 'DWORD BehaviorMonitorThread(LPVOID)': 752 14 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp In function 'void showMainMenu()': 768 14 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 769 14 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 770 14 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 771 14 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 772 14 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 773 14 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 774 14 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 775 14 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp In function 'int WinMain(HINSTANCE, HINSTANCE, LPSTR, int)': 786 31 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] '_O_U16TEXT' was not declared in this scope 786 41 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] '_setmode' was not declared in this scope 790 30 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 790 70 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 793 14 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 816 30 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 818 30 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 825 38 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 825 60 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 828 38 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence 828 53 C:\Users\高圣乾\Desktop\轻量化静态隔离杀毒软件.cpp [Error] converting to execution character set: Illegal byte sequence请给出一个debug后的完整c++11代码
最新发布
11-10
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值