Linux 终端编译后运行.c/.cpp文件中文乱码问题

news/2024/6/29 11:49:40 标签: linux, 乱码, 编译器

目录

  • 一、异常错误
  • 二、原因
  • 三、解决方法
    • 1.首先确保源代码编码格式是UTF-8
    • 2.确保Linux运行语言支持中文

一、异常错误

发现通过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

http://www.niftyadmin.cn/n/824351.html

相关文章

不用打开视频、音频文件就能获取视频、音频的时长等属性

主要使用 android.media.MediaMetadataRetriever 类,其官方文档对该类的作用的解释是 MediaMetadataRetriever class provides a unified interface for retrieving frame and meta data from an input media file. 意思是 该类用于检索 媒体文件的框架信息和元数据…

知乎免登录

// UserScript // name 知乎免登录 // namespace http://tampermonkey.net/ // version 0.9 // description 知乎免登录脚本 // author You // match https://.zhihu.com/ // grant none // /UserScript (function () { // 若要开启实验性功能,请将下方 experiment…

Ubuntu 设置中文语言环境

使用locale查看当前的语言环境设置 LANGzh_CN.UTF-8 LANGUAGE LC_CTYPE"zh_CN.UTF-8" LC_NUMERIC"zh_CN.UTF-8" LC_TIME"zh_CN.UTF-8" LC_COLLATE"zh_CN.UTF-8" LC_MONETARY"zh_CN.UTF-8" LC_MESSAGES"zh_CN.UTF-8&qu…

0:数据库的产生-MySQL

目录0.1 什么是数据库 database0.2 抛出问题,数据库的产生0.3 数据库萌芽阶段的发展历程0.4 CRUD0.5 层次模型0.6 网状模型0.7 关系型数据库0.8 企业和我们都选什么数据库呢?0.1 什么是数据库 database 数据库是存放数据的仓库。它的存储空间很大&#…

百度网页搜索部

一、算法效率比较 题目:针对数组A和数组B,两个数组的元素内容相同,不过数组A是已经排序的,数组B是乱序的,针对数组的中位数,存在以下两组程序,比较其效率并分析原因。 int g; int main()…

一起学习《C#高级编程》2--比较对象的相等性

今后争取每两天能更新一次。平日的诱惑太多,双休只顾玩了,进度有点慢。 接上一讲的,类型的安全性,留下了点小尾巴——比较对象的相等性。 C#有四种比较相等的方式:除了“”运算符外,System.Object定义了3中…

1:安装、连接以及配置-MySQL

目录1.1 windows两种安装方式,入门选手推荐第二种(win10演示)1.2 更改终端,放弃cmd作为主要终端,使用一流终端1.3 MYSQL服务的启动与停止1.4 连接mysql1.5 初始化data数据文件夹视频讲解很详细,主要是安装和配置操作,所…

2:数据库的基本操作-MySQL

目录2.1 数据库的显示讲解2.2 创建数据库1. 创建数据库2. 创建带有关键字的数据库(不推荐)3.判断并创建一个不知道是否存在的数据库2.3 删除数据库1. 删除数据库2. 如果存在则删除数据库2.4 查看创建的数据库的SQL2.5 创建数据库指定字符编码以及查看字符…