关于win10下codeblock的中文乱码问题解决

举报
Further_Step 发表于 2024/12/13 19:14:48 2024/12/13
【摘要】 ​ 乱码问题主要是因为不同平台的编码不同造成的,你是GBK/GB2312,我是UTF-8;不同的IDE应该都提供了相应的解决方案,但需要用户自己配置一下,在codeblock下解决方案如下:(我的codeblock是汉化过的,如果你没有汉化过,可以看截图相应位置或者凭英语硬实力操作!)1、首先,选择第三个编译器进入​编辑2、在全局编译器设置下的Other compiler options中添...

 乱码问题主要是因为不同平台的编码不同造成的,你是GBK/GB2312,我是UTF-8;不同的IDE应该都提供了相应的解决方案,但需要用户自己配置一下,在codeblock下解决方案如下:

(我的codeblock是汉化过的,如果你没有汉化过,可以看截图相应位置或者凭英语硬实力操作!)

1、首先,选择第三个编译器进入

编辑

2、在全局编译器设置下的Other compiler options中添加如下代码:(如果编译器没有配置过,则默认这里是空的)

编辑

代码如下:

-finput-charset=UTF-8
-fexec-charset=GBK

现在再编译运行试试,就没问题了。

解释:

1、-finput-charset=UTF-8:

  • 这个选项告诉编译器,源代码文件使用 UTF-8 编码。UTF-8 是一种可变长度的字符编码,可以表示 Unicode 字符集中的所有字符。
  • 使用此选项可以确保编译器正确解析源代码中的字符,特别是当源代码中包含非 ASCII 字符(如中文、日文等)时。

2、-fexec-charset=GBK:

  • 这个选项指定程序在执行时使用 GBK 编码。GBK 是一种用于简体中文的字符编码,能够表示汉字及其他一些字符。
  • 通过设置执行字符集为 GBK,可以确保程序在输出时正确显示中文字符,尤其是在终端或控制台中。

字符集知识点补充:

字符集是计算机中用于表示文本的字符的集合。它定义了字符与其对应的数字编码之间的映射关系。不同的字符集可以支持不同的语言和符号。以下是一些常见的字符集及其解释:

1. ASCII (American Standard Code for Information Interchange)

  • 描述: ASCII 是最早的字符集之一,使用 7 位二进制数表示 128 个字符,包括英文字母、数字、标点符号和控制字符。
  • 范围: 0-127
  • 用途: 主要用于英语文本。

2. ISO-8859 系列

  • 描述: ISO-8859 是一系列 8 位字符集,扩展了 ASCII,支持多种西欧语言。
  • 常见变种:
    • ISO-8859-1: Latin-1,支持大多数西欧语言。
    • ISO-8859-2: Latin-2,支持中欧语言(如波兰语、捷克语等)。

3. UTF-8

  • 描述: UTF-8 是一种可变长度的字符编码,可以表示 Unicode 字符集中的所有字符。它使用 1 到 4 个字节表示一个字符。
  • 优点: 向后兼容 ASCII,广泛用于网页和现代应用程序。
  • 用途: 支持全球几乎所有语言的字符。

4. UTF-16

  • 描述: UTF-16 也是一种可变长度的字符编码,通常使用 2 或 4 个字节表示一个字符。
  • 用途: 常用于 Windows 系统和 Java 编程语言中,支持 Unicode 字符集。

5. GB2312 / GBK / GB18030

  • 描述: 这些是用于简体中文的字符集。
    • GB2312: 最初的简体中文字符集,支持约 7,000 个汉字。
    • GBK: 扩展 GB2312,支持更多汉字和符号。
    • GB18030: 进一步扩展,支持所有 Unicode 字符。
  • 用途: 主要用于中文操作系统和应用程序。

6. Big5

  • 描述: Big5 是用于繁体中文的字符集,主要在台湾和香港使用。
  • 用途: 支持繁体中文字符。


 


【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。