C编译时编码设置(UTF-8、GBK编码格式)
- 建立uft-8和gbk编码格式的文件
通过VSCode新建GBK、UTF-8编码格式的两个C程序文件(分别是“存储类型GBK.c、存储类型UTF8.c”)
- 打开vscode,安装插件
“GBK to UTF8 for vscode”-buuug7.gbk2utf8
- 打开设置,搜索encoding,设置默认的文本字符编码,在此处选择GBK编码时新建的文件默认为GBK编码,在此处选择UTF-8编码时,默认采用UTF8编码。
-
在上一步骤中,我默认设置GBK编码来新建两个文件“存储类型GBK.c”和“存储类型UTF8.c”。注意:此时这两个文件都还是GBK字符编码格式。
-
右键点击“存储类型UTF8.c”文件,在右键菜单中选择“Convert encoding to utf8”(这个功能是由上面安装的“GBK to UTF8 for vscode”插件提供的),可将GBK字符编码的文件转为UTF-8编码,转换之后该文件“存储类型UTF8.c”则已经是utf-8字符编码。
(将默认编码设置为GBK是为避免设置频繁更改编码设置,直接通过文件右键菜单完成字符编码转换)
-
编辑两个C语言程序内容(保持一致),如下
#include <stdio.h>
void fun1()
{
static int count3 = 10;
count3++;
printf("当前static变量(进入、离开域,值不被销毁)的值为:%d\n", count3);
}
int main()
{
int mout1 = 1;
auto int mout2 = 1;
printf("相同类型(int)的存储变量mout1:%d,\n", mout1);
printf("相同类型(int)的存储变量(auto局部变量)mout2:%d\n", mout2);
for (int i = 1; i <= 6; i++)
{
fun1();
}
}
2. 编译(windows10有效,其他系统未尝试)
cmd终端默认执行编码为GBK,可能有的经过七七八八的修改,变成的其他编码。
- GBK编译(CMD控制台窗口,vscode终端都可)
终端进入文件路径,自定义终端执行编码为GBK
CHCP 936
编译 (gcc ./filename.c -o outfilename.exe 指定编译输文件名)
gcc ./存储类型GBK.c
执行编译生成的程序
./a.exe
编译截图
- UTF8编译(此处在cmd控制台进行,vscode终端输入暂时存在编码乱码问题)
打开控制台,终端进入文件路径,自定义终端执行编码为UTF-8,编译及执行步骤同上。
CHCP 65001
- 运行截图如下