一、异常错误
发现通过VS2019编译的.c文件,在Linux中用shell运行时,终端会出现中文乱码的情况
二、原因
本以为是终端编码格式问题,后来发现是最初编译器编码格式是gbk导致的乱码
三、解决方法
1.首先确保源代码编码格式是UTF-8
详见:VS2019高级保存设置UTF-8编码-源代码乱码问题
2.确保Linux运行语言支持中文
locale
查看可用编码格式
- 修改配置文件:
vim /etc/default/locale
- 将原始内容替换为如下
LANG="zh_CN.UTF-8" LANGUAGE="zh_CN:zh" LC_NUMERIC="zh_CN" LC_TIME="zh_CN" LC_MONETARY="zh_CN" LC_PAPER="zh_CN" LC_NAME="zh_CN" LC_ADDRESS="zh_CN" LC_TELEPHONE="zh_CN" LC_MEASUREMENT="zh_CN" LC_IDENTIFICATION="zh_CN" LC_ALL="zh_CN.UTF-8"
- 重启
reboot