【问题标题】:Accent mark problems in CLionCLion 中的重音符号问题
【发布时间】:2021-08-07 11:02:03
【问题描述】:

我在使用 CLion IDE(Windows 10 上的 2021.1.1)在 C 中进行编码时尝试在控制台中显示重音符号时遇到问题。具体来说,程序

#include <stdio.h>

int main() {
    printf("Rectángulo");
    return 0;
}

在控制台中显示

Rectángulo

我怀疑这是与编码设置有关的问题。我在 CLion 中使用了以下编码设置:

  • 设置 + 编辑器 + 文件编码:全局编码和项目编码均采用 UTF-8
  • 设置 + 编辑器 + 常规 + 控制台:默认编码中的 UTF-8

我尝试了几种文件和控制台编码设置的组合,但没有找到在控制台上显示正确的“á”字符的解决方案。

感谢您的支持。

【问题讨论】:

  • 尝试在程序开始时调用setlocale(LC_ALL, "")。确保您的语言环境是 UTF-8 语言环境。
  • 感谢您的回复。我试过在 printf 语句之前包含 setlocale(LC_ALL,"") ,但它仍然不起作用。
  • 我不知道á怎么会变成├í。你能运行od -c your-program-source.c 并找到包含á 的行吗?你能对程序输出做同样的事情吗?
  • 我怀疑这是与编码设置有关的问题。我使用的是 Windows 10,它似乎不接受“od”命令。
  • 哦抱歉我错过了,因为某些原因我以为是 Mac。在 Windows 上,控制台中的 UTF-8 是一个问题。您可能需要使用宽字符和 UTF-16。

标签: c encoding utf-8 clion diacritics


【解决方案1】:

我终于解决了在 Windows 注册表中更改代码页编码的问题。

即在注册表中,我进入HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage,设置OEMCP=65001(即UTF-8),然后重启系统。

之后,上述 CLion IDE 中的编码设置运行良好,重音符号在集成到 IDE 的控制台中正确显示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-25
    • 2014-09-06
    • 2014-06-16
    • 2016-05-03
    • 2018-09-06
    • 1970-01-01
    • 2011-09-26
    • 2016-11-20
    相关资源
    最近更新 更多