问题描述
我在使用 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 中使用了以下编码设置:
我尝试了多种文件和控制台编码设置组合,但没有找到在控制台上显示正确“á”字符的解决方案。
感谢支持。
解决方法
我终于解决了在 Windows 注册表中更改代码页编码的问题。
也就是在注册表中,我到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage,设置OEMCP=65001(即UTF-8)并重启系统。
之后,CLion IDE 中的上述编码设置运行良好,并且在集成在 IDE 中的控制台中正确显示了重音符号。