项目通过串口发送字符串,在超级终端中显示调试信息。为了方便,送出的是汉字的调试信息。一夜之间,Keil编译时提示“warning: #870-D: invalid multibyte character sequence”,就是说编译器不支持多字节字符,一个源文件上百条。而且,在超级终端中的调试信息全部变成了乱码。网上搜索了一下解决办法: 在源文件中加入编译器选项,#pragmadiag_suppress 870,就可以禁止出现这个warning消息了。 或在编译选项里Misc Controls添加 --diag_suppress=870 但是,经过这样处理,虽然警告没有了,在超级终端中,中文还是乱码,调试信息无法查看。 回想一下,在UltraEdit中看到现在文件的编码格式是UTF-8,昨天不知道怎么想,把C源文件编码格式由默认的936(ANSI/OEM-简体中文GBK)改为UTF-8,是不是因为这个原因导致问题?尝试将文件编码格式改回936(ANSI/OEM-简体中文GBK),警告没有了,在超级终端中调试信息也正常了。 |
|