问题:
在vscode 里面编辑了代码,再用Keil编译报错:
..\..\User\SRC\.c(492): error: #8: missing closing quote
sprintf(p,"杞?");
原因:
- vscode 使用的
UTF-8
编码,keil5不能识别UTF-8
编码 - keil5 使用的
GB2312
编码:
解决:
- 方法一:
- 在Keil或者notepad++里面新建一个文件,使用
simplified chinese(GB 2312)
编码,把原来的代码复制进来,编译成功无问题。 - 要再用vscode编辑代码,切记先把编码格式切换成GB2312。
- 输入
encoding
搜索,Files:Encoding
改为simplified chinese(GB 2312)
-
方法二:(实测该方法能编译成功,但是程序编码的中文字显示会乱码)
在KEIL中Options for Target ‘工程文件夹’ -> C/C++ -> Misc Controls添加--locale=english
-
方法三(实测该方法能编译成功,但是程序编码的中文字显示会乱码)
修改编码方式,改为UTF-8 with BOM