Visual Studio中C++控制台UTF-8非英文字符输出乱码求助
C++特殊字符输出乱码解决方法(Visual Studio环境)
调整Visual Studio项目与控制台设置
- 项目字符集配置:右键项目→属性→配置属性→常规,将“字符集”设置为使用Unicode字符集。
- 控制台编码调整:程序运行后,右键控制台标题栏→属性→选项,将代码页改为
65001(UTF-8),同时在字体选项中选择支持Unicode的字体(如Consolas)。 - 源代码编码设置:点击菜单栏“文件”→“高级保存选项”,将编码改为UTF-8 带签名(UTF-8 with BOM);再进入项目属性→配置属性→C/C++→所有选项,在“附加选项”中添加
/utf-8,确保编译器按UTF-8解析代码中的字符串。
代码层面调整(无需额外特殊头文件)
如果不想依赖IDE设置,可通过代码强制指定控制台输出编码,需要包含<fcntl.h>和<io.h>头文件,示例代码:
#include <iostream> #include <fcntl.h> #include <io.h> int main() { // 设置标准输出为UTF-8编码 _setmode(_fileno(stdout), _O_U8TEXT); // 使用宽字符输出流wcout搭配L前缀的宽字符串 std::wcout << L">> Připojení k serveru úspěšné" << std::endl; return 0; }
内容的提问来源于stack exchange,提问作者yakubiq
相关产品推荐
相关产品推荐

