CLion 中的重音标记问题

问题描述

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

Traceback (most recent call last):
  File "C:/Users/Admin/Desktop/TestProp/main.py",line 192,in <module>
    cipher = AES.new(key,AES.MODE_CBC,iv)
  File "C:\Users\Admin\Desktop\TestProp\venv\lib\site-packages\Crypto\Cipher\AES.py",line 232,in new
    return _create_cipher(sys.modules[__name__],key,mode,*args,**kwargs)
  File "C:\Users\Admin\Desktop\TestProp\venv\lib\site-packages\Crypto\Cipher\__init__.py",line 79,in _create_cipher
    return modes[mode](factory,**kwargs)
  File "C:\Users\Admin\Desktop\TestProp\venv\lib\site-packages\Crypto\Cipher\_mode_cbc.py",line 274,in _create_cbc_cipher
    cipher_state = factory._create_base_cipher(kwargs)
  File "C:\Users\Admin\Desktop\TestProp\venv\lib\site-packages\Crypto\Cipher\AES.py",line 93,in _create_base_cipher
    raise ValueError("Incorrect AES key length (%d bytes)" % len(key))
ValueError: Incorrect AES key length (64 bytes)

在控制台中显示

#include <stdio.h>

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

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

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

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

感谢支持

解决方法

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

也就是在注册表中,我到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage,设置OEMCP=65001(即UTF-8)并重启系统。

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